diff --git a/DA4008_V1.2/case/config/sin_freq/sine_100Hz.txt b/DA4008_V1.2/case/config/sin_freq/sine_100Hz.txt
deleted file mode 100644
index 866b0dc..0000000
--- a/DA4008_V1.2/case/config/sin_freq/sine_100Hz.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
diff --git a/DA4008_V1.2/case/config/sin_freq/sine_10g.txt b/DA4008_V1.2/case/config/sin_freq/sine_10g.txt
deleted file mode 100644
index eba4d82..0000000
--- a/DA4008_V1.2/case/config/sin_freq/sine_10g.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff7f
-017fff7f
-0180ff7f
-017fff7f
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff80
-0180ff80
-017fff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff80
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-017fff7f
-0180ff80
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
-017fff7f
-017fff7f
-017fff7f
-0180ff7f
-0180ff7f
-0180ff7f
-0180ff80
-0180ff80
-0180ff80
-0180ff7f
-0180ff7f
diff --git a/DA4008_V1.2/case/config/sin_freq/sine_1MHz.txt b/DA4008_V1.2/case/config/sin_freq/sine_1MHz.txt
deleted file mode 100644
index 7b5c01e..0000000
--- a/DA4008_V1.2/case/config/sin_freq/sine_1MHz.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-80808080
-81808080
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-81818181
-82828281
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-82828282
-83828282
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-83838383
-84848483
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-84848484
-85848484
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-85858585
-86868685
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-86868686
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-87878787
-88888787
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-88888888
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-89898989
-8a8a8989
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8a8a8a8a
-8b8b8b8a
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8b8b8b8b
-8c8b8b8b
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8c8c8c8c
-8d8d8d8c
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8d8d8d8d
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8e8e8e8e
-8f8f8e8e
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-8f8f8f8f
-9090908f
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-90909090
-91909090
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-91919191
-92929191
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-92929292
-93939392
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-93939393
-94939393
-94949494
-94949494
-94949494
-94949494
diff --git a/DA4008_V1.2/case/config/sin_freq/sine_1g.txt b/DA4008_V1.2/case/config/sin_freq/sine_1g.txt
deleted file mode 100644
index a3d68dc..0000000
--- a/DA4008_V1.2/case/config/sin_freq/sine_1g.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
diff --git a/DA4008_V1.2/case/config/sin_freq/sine_20g.txt b/DA4008_V1.2/case/config/sin_freq/sine_20g.txt
deleted file mode 100644
index d459828..0000000
--- a/DA4008_V1.2/case/config/sin_freq/sine_20g.txt
+++ /dev/null
@@ -1,261 +0,0 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
-807f8080
-807f807f
-807f807f
-807f7f7f
-807f7f7f
-807f7f7f
-80807f7f
-807f807f
-8080807f
-807f807f
-8080807f
-7f7f807f
-8080807f
-7f7f8080
-8080807f
-7f7f807f
-807f807f
-7f7f8080
-807f807f
-7f7f807f
-7f7f807f
-807f8080
-807f7f7f
-8080807f
-7f7f807f
-807f8080
-807f7f80
-8080807f
-7f7f807f
-807f8080
-807f7f7f
-8080807f
-7f7f807f
-807f807f
-807f7f80
-8080807f
-7f7f807f
-807f807f
-807f807f
-8080807f
-807f807f
-7f80807f
-807f8080
-807f807f
-7f807f7f
-807f807f
-7f7f807f
-807f7f80
-807f807f
-7f80807f
-807f8080
-807f807f
-80807f80
-807f807f
-7f7f807f
-807f7f80
-807f807f
-7f80807f
-807f8080
-807f807f
-80807f7f
-807f807f
-7f7f807f
-807f7f80
-807f807f
-7f80807f
-807f807f
-807f807f
-80807f80
-807f807f
-7f7f807f
-807f8080
-807f807f
-7f80807f
-807f807f
-807f807f
-807f7f7f
-807f807f
-7f7f807f
-807f8080
-807f807f
-807f807f
-807f807f
-80808080
-807f8080
-7f7f807f
-7f7f7f7f
-807f807f
-8080807f
-80808080
-7f7f807f
-7f7f7f7f
-807f7f7f
-8080807f
-80808080
-807f807f
-7f7f7f7f
-807f7f7f
-807f807f
-80808080
-807f8080
-7f7f807f
-7f7f7f7f
-807f807f
-80808080
-807f8080
-7f7f807f
-7f7f7f7f
-807f807f
-8080807f
-80808080
-807f807f
-7f7f7f7f
-807f7f7f
-807f807f
-80808080
-807f8080
-7f7f807f
-807f7f7f
-807f807f
-8080807f
-807f8080
-7f7f807f
-7f7f7f7f
-807f807f
-8080807f
-80808080
-807f807f
-7f7f7f7f
-807f807f
-807f807f
-80808080
-807f807f
-7f7f807f
-807f7f7f
-807f807f
-80808080
-807f8080
-7f7f807f
-807f7f7f
-807f807f
-8080807f
-807f8080
-807f807f
-7f7f7f7f
-807f807f
-807f807f
-80808080
-807f807f
-7f7f807f
-807f7f7f
-807f807f
-8080807f
-807f807f
-7f7f807f
-807f7f7f
-807f807f
-8080807f
-807f8080
-807f807f
-7f7f7f7f
-807f807f
-807f807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-7f7f8080
-7f7f8080
-7f7f807f
-7f80807f
-8080807f
-8080807f
-80807f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f80
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-807f807f
-8080807f
-8080807f
-807f807f
-807f7f7f
-807f7f7f
-807f807f
-807f8080
-7f7f8080
-7f7f807f
-7f7f807f
-8080807f
-8080807f
-8080807f
-807f7f7f
-807f7f7f
-807f7f7f
-807f8080
-807f8080
-7f7f8080
-7f7f807f
-807f807f
diff --git a/DA4008_V1.2/case/config/try/flattop.txt b/DA4008_V1.2/case/config/try/flattop.txt
deleted file mode 100644
index 59e3d23..0000000
--- a/DA4008_V1.2/case/config/try/flattop.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-00100000
-0000000c
-04000002
-800003e8
-04004002
-00200000
-00000100
-04030100
-0b090706
-110f0e0c
-17161412
-1d1c1a19
-2422211f
-2a282725
-302f2d2c
-37353332
-3d3b3a38
-4342403e
-4a484645
-504e4d4b
-56555351
-5c5b5958
-6361605e
-69676664
-6f6e6c6b
-76747271
-7c7a7977
-82817f7d
-89878584
-8f8d8c8a
-95949290
-9b9a9897
-a2a09f9d
-a8a6a5a3
-aeadabaa
-b5b3b1b0
-bbb9b8b6
-c1c0bebc
-c8c6c4c3
-c3c4c6c8
-bcbec0c1
-b6b8b9bb
-b0b1b3b5
-aaabadae
-a3a5a6a8
-9d9fa0a2
-97989a9b
-90929495
-8a8c8d8f
-84858789
-7d7f8182
-77797a7c
-71727476
-6b6c6e6f
-64666769
-5e606163
-58595b5c
-51535556
-4b4d4e50
-4546484a
-3e404243
-383a3b3d
-32333537
-2c2d2f30
-2527282a
-1f212224
-191a1c1d
-12141617
-0c0e0f11
-0607090b
-00010304
diff --git a/DA4008_V1.2/model/DEM_Reverse_64CH.v b/DA4008_V1.2/model/DEM_Reverse_64CH.v
deleted file mode 100644
index 19ac23d..0000000
--- a/DA4008_V1.2/model/DEM_Reverse_64CH.v
+++ /dev/null
@@ -1,64 +0,0 @@
-module DEM_Reverse_64CH (
- input clk
- ,input [6:0] msb_in [63:0]
- ,input [4:0] lsb_in [63:0]
- ,input vld_in
- ,output reg vld_out
- ,output reg [7:0] data_out [63:0]
-);
-
-reg [7:0] data_out_rr[63:0];
-reg [7:0] data_out_r [63:0];
-reg [1:0] vld_out_r;
-genvar k;
-generate
-
- for(k = 0; k < 32; k = k + 1) begin
- DEM_Reverse U_DEM_Reverse (
- .clk ( clk )
- ,.therm_in ( msb_in[k] )
- ,.bin_in ( lsb_in[k] )
- ,.data_out ( data_out_r[k] )
- );
-
- end
-
-for(k = 32; k < 64; k = k + 1) begin
- DEM_Reverse U_DEM_Reverse (
- .clk ( ~clk )
- ,.therm_in ( msb_in[k] )
- ,.bin_in ( lsb_in[k] )
- ,.data_out ( data_out_r[k] )
- );
-
- end
-
-endgenerate
-
-generate
-
- for(k = 0; k < 64; k = k + 1) begin
- if(k<32) begin
- assign data_out[k] = data_out_r[k];
- end
- else begin
- assign data_out[k] = data_out_rr[k];
- end
-
- end
-
-
-endgenerate
-
-
-always @(posedge clk) begin
- data_out_rr <= data_out_r;
-end
-
-// \u5728\u65f6\u949f\u4e0a\u5347\u6cbf\u5bc4\u5b58\u8f93\u51fa
-always @(posedge clk) begin
- vld_out_r <= {vld_out_r[0],vld_in};
-end
-
-assign vld_out = vld_out_r[1];
-endmodule
diff --git a/DA4008_V1.2/rtl/top/da4008_chip_top.sv b/DA4008_V1.2/rtl/top/da4008_chip_top.sv
deleted file mode 100644
index d5c92c4..0000000
--- a/DA4008_V1.2/rtl/top/da4008_chip_top.sv
+++ /dev/null
@@ -1,212 +0,0 @@
-
-
-`include "../define/chip_define.v"
-module da4008_chip_top (
- //spi port
- input PI_sclk // Spi Clock
- ,input PI_csn // Spi Chip Select active low
- ,input PI_mosi // Spi Mosi
- ,output PO_miso // Spi Miso
- //irq
- ,output PO_irq
- //system port
- ,input PI_async_rstn
- ,input PI_sync_in
- ,output PO_sync_out
-
- ,input clk
- //lvds rx
- ,input [3 :0] lvds_data
- ,input [0 :0] lvds_valid
- ,input [0 :0] lvds_clk
- ,output [2 :0] phase_tap
- //DAC Data
- ,output [6 :0] MSB_OUT [63:0]
- ,output [4 :0] LSB_OUT [63:0]
- ,output MSB_DUM [63:0]
- ,output DEM_VLD
- //DAC Cfg Port
- ,output [3 :0] Rterm
- ,output [2 :0] CasAddr
- ,output [2 :0] CasDw
- ,output [9 :0] IMainCtrl
- ,output [3 :0] IBleedCtrl
- ,output [3 :0] ICkCml
- ,output [31 :0] CurRsv0
- ,output [31 :0] CurRsv1
- //CLK Cfg Port
- ,output [0 :0] CcalRstn
- ,output [3 :0] EnAllP
- ,output [0 :0] DccEn
- ,output [0 :0] CasGateCkCtrl
- ,output [0 :0] SpiEnPi
- ,output [0 :0] SpiEnQec
- ,output [0 :0] SpiEnDcc
- ,output [4 :0] SpiQecCtrlIp
- ,output [4 :0] SpiQecCtrlIn
- ,output [4 :0] SpiQecCtrlQp
- ,output [4 :0] SpiQecCtrlQn
- ,output [5 :0] SpiDccCtrlIup
- ,output [5 :0] SpiDccCtrlIdn
- ,output [5 :0] SpiDccCtrlQup
- ,output [5 :0] SpiDccCtrlQdn
- ,output [7 :0] SpiSiqNOut
- ,output [7 :0] SpiSiqPOut
- ,output [3 :0] SpiSiPOut
- ,output [3 :0] SpiSqPOut
- ,output [2 :0] CrtlCrossOverN
- ,output [2 :0] CrtlCrossOverP
- ,output [31 :0] CcalRsv0
- ,output [31 :0] CcalRsv1
- ,output [3 :0] SelCk10GDig
- ,output [3 :0] SelCk2p5GDig
- ,output [8 :0] SelCk625MDig
- ,output [15 :0] P2sDataEn
- ,output [15 :0] P2sEnAllP
- ,output [15 :0] EnPiP
- ,output [15 :0] CkDivRstn
- ,output [31 :0] p2srsv0
- ,output [31 :0] p2srsv1
- ,output [15 :0] CkRxSw
- ,output [15 :0] RstnCk
- ,output [15 :0] CtrlZin
-);
-
-//------------------------------iopad instantiation start--------------------------------------
-// iopad
-//---------------------------------------------------------------------------------------------
-wire async_rstn ;
-wire sync_in ;
-wire sync_out ;
-wire sclk ;
-wire csn ;
-wire mosi ;
-wire miso ;
-wire oen ;
-wire irq ;
-
-
-iopad U_iopad (
- //+++++++++++++++++++++++++++++++++++++++++++++//
- // PAD Strat //
- //+++++++++++++++++++++++++++++++++++++++++++++//
- .PI_async_rstn ( PI_async_rstn )
- ,.PI_sync_in ( PI_sync_in )
- ,.PO_sync_out ( PO_sync_out )
- ,.PI_sclk ( PI_sclk )
- ,.PI_csn ( PI_csn )
- ,.PI_mosi ( PI_mosi )
- ,.PO_miso ( PO_miso )
- ,.PO_irq ( PO_irq )
- //+++++++++++++++++++++++++++++++++++++++++++++//
- // PAD End //
- //+++++++++++++++++++++++++++++++++++++++++++++//
-
- //+++++++++++++++++++++++++++++++++++++++++++++//
- // Internal signal Start //
- //+++++++++++++++++++++++++++++++++++++++++++++//
- ,.async_rstn ( async_rstn )
- ,.sync_in ( sync_in )
- ,.sync_out ( sync_out )
- ,.sclk ( sclk )
- ,.csn ( csn )
- ,.mosi ( mosi )
- ,.miso ( miso )
- ,.oen ( oen )
- ,.irq_n ( ~irq )
-);
-
-
-//------------------------------spi_slave instantiation start----------------------------------
-// spi_slave
-//---------------------------------------------------------------------------------------------
-
-wire [7 :0] wave_data_out [63:0] ;
-wire wave_data_valid ;
-wire [14 :0] Set [63:0] ;
-wire PrbsEn ;
-digital_top digital_top (
- .clk ( clk )
- ,.rst_n ( async_rstn )
- ,.sync_in ( sync_in )
- ,.sync_out ( sync_out )
- ,.cfgid ( 5'b00000 )
- ,.sclk ( sclk )
- ,.csn ( csn )
- ,.mosi ( mosi )
- ,.miso ( miso )
- ,.oen ( oen )
- ,.irq ( irq )
- ,.wave_data_out ( wave_data_out )
- ,.wave_data_valid ( wave_data_valid )
- ,.lvds_data ( lvds_data )
- ,.lvds_valid ( lvds_valid )
- ,.lvds_clk ( lvds_clk )
- ,.phase_tap ( phase_tap )
- ,.Rterm ( Rterm )
- ,.PrbsEn ( PrbsEn )
- ,.Set ( Set )
- ,.CasAddr ( CasAddr )
- ,.CasDw ( CasDw )
- ,.IMainCtrl ( IMainCtrl )
- ,.IBleedCtrl ( IBleedCtrl )
- ,.ICkCml ( ICkCml )
- ,.CurRsv0 ( CurRsv0 )
- ,.CurRsv1 ( CurRsv1 )
- ,.CcalRstn ( CcalRstn )
- ,.EnAllP ( EnAllP )
- ,.DccEn ( DccEn )
- ,.CasGateCkCtrl ( CasGateCkCtrl )
- ,.SpiEnPi ( SpiEnPi )
- ,.SpiEnQec ( SpiEnQec )
- ,.SpiEnDcc ( SpiEnDcc )
- ,.SpiQecCtrlIp ( SpiQecCtrlIp )
- ,.SpiQecCtrlIn ( SpiQecCtrlIn )
- ,.SpiQecCtrlQp ( SpiQecCtrlQp )
- ,.SpiQecCtrlQn ( SpiQecCtrlQn )
- ,.SpiDccCtrlIup ( SpiDccCtrlIup )
- ,.SpiDccCtrlIdn ( SpiDccCtrlIdn )
- ,.SpiDccCtrlQup ( SpiDccCtrlQup )
- ,.SpiDccCtrlQdn ( SpiDccCtrlQdn )
- ,.SpiSiqNOut ( SpiSiqNOut )
- ,.SpiSiqPOut ( SpiSiqPOut )
- ,.SpiSiPOut ( SpiSiPOut )
- ,.SpiSqPOut ( SpiSqPOut )
- ,.CrtlCrossOverN ( CrtlCrossOverN )
- ,.CrtlCrossOverP ( CrtlCrossOverP )
- ,.CcalRsv0 ( CcalRsv0 )
- ,.CcalRsv1 ( CcalRsv1 )
- ,.SelCk10GDig ( SelCk10GDig )
- ,.SelCk2p5GDig ( SelCk2p5GDig )
- ,.SelCk625MDig ( SelCk625MDig )
- ,.P2sDataEn ( P2sDataEn )
- ,.P2sEnAllP ( P2sEnAllP )
- ,.EnPiP ( EnPiP )
- ,.CkDivRstn ( CkDivRstn )
- ,.p2srsv0 ( p2srsv0 )
- ,.p2srsv1 ( p2srsv1 )
- ,.CkRxSw ( CkRxSw )
- ,.RstnCk ( RstnCk )
- ,.CtrlZin ( CtrlZin )
-);
-
-//------------------------------spi_slave instantiation start----------------------------------
-// DEM
-//---------------------------------------------------------------------------------------------
-sirv_gnrl_dffr #(1) DEM_VLD_dffr (wave_data_valid, DEM_VLD, clk, async_rstn);
-
-DEM_PhaseSync_4008 U_DEM_PhaseSync_4008 (
- .clk ( clk )
- ,.prbs_en ( PrbsEn )
- ,.RST_N ( async_rstn )
- ,.dem_set ( Set )
- ,.data_in ( wave_data_out )
- ,.MSB_OUT ( MSB_OUT )
- ,.LSB_OUT ( LSB_OUT )
- ,.MSB_DUM ( MSB_DUM )
-
-);
-
-endmodule
-
-`include "../define/chip_undefine.v"
diff --git a/DA4008_V1.2/sim/chip_top/TB.sv b/DA4008_V1.2/sim/chip_top/TB.sv
deleted file mode 100644
index 5f8e536..0000000
--- a/DA4008_V1.2/sim/chip_top/TB.sv
+++ /dev/null
@@ -1,400 +0,0 @@
-`include "../../rtl/define/chip_define.v"
-
-`include "../../model/SPI_DRIVER.sv"
-
-`include "../../model/LVDS_DRIVER.sv"
-
-`timescale 1ns/1ps
-
-module TB ();
-
-//###################################
-// Generate Clocks & Reset
-//###################################
-
-//Generate Clock
-localparam PERIOD = 1.536;
-logic clk ;
-//clk
-clock_tb #(
- .PERIOD ( PERIOD )
- ,.PHASE ( 0 )
- )clk_inst (
- .clk_out ( clk )
-);
-
-//clk_40g
-logic clk_40g;
-clock_tb #(
- .PERIOD ( 0.024)
- ,.PHASE ( 0 )
- )clk_40g_inst (
- .clk_out ( clk_40g )
-);
-//Generate Reset
-logic rst_n;
-
-int file_path;
-string CONFIG_FILE = "";
-string DATA_O_FILE = "";
-parameter string CASE_TEMP = "../../case_temp.txt";
-parameter string DATA_TEMP = "../../data_temp.txt";
-parameter string LVDS_FILE = "../../../../case/lvds/0305/lvds.txt";
-initial begin
- file_path = $fopen(CASE_TEMP, "r");
- if(file_path != 0) begin
- $fscanf(file_path, "%s", CONFIG_FILE);
- $display(CONFIG_FILE);
- $fclose(file_path);
- end
- file_path = $fopen(DATA_TEMP, "r");
- if(file_path != 0) begin
- $fscanf(file_path, "%s", DATA_O_FILE);
- $display(DATA_O_FILE);
- $fclose(file_path);
- end
-
- $fsdbAutoSwitchDumpfile(500, "./verdplus.fsdb", 1000000);
- $fsdbDumpvars();
- $fsdbDumpMDA();
-end
-
-//###################################
-// configure the dut
-//###################################
-virtual spi_if vif;
-spi_if spi_bus(.clk(clk), .rstn(rst_n));
-
-virtual lvds_if lvds_vif;
-lvds_if lvds_bus(.clk(clk));
-
-
-
-initial begin
- spi_bus.sclk = 1'b1;
- spi_bus.mosi = 1'b0;
- spi_bus.csn = 1'b1;
- vif = spi_bus;
- lvds_vif = lvds_bus;
-end
-
-spi_driver my_drv;
-lvds_driver lvds_drv;
-logic start;
-
-initial begin
- rst_n = 1'b0;
- start = 1'b0;
-
- lvds_drv = new();
- lvds_drv.drv_if = lvds_vif;
-
- my_drv = new();
- my_drv.file_path = CONFIG_FILE;
- my_drv.itf = vif;
-
- # 20;
- rst_n = 1'b1;
- /////////////////////////////////
- ////LVDS send
- /////////////////////////////////
- lvds_drv.train_count = 100;
- lvds_drv.send_training();
- lvds_drv.scrambler_en = 1;
- lvds_drv.send_frame_from_file(LVDS_FILE);
-
- /////////////////////////////////
- ////SPI send
- /////////////////////////////////
- file_path = $fopen(DATA_O_FILE, "w");
- my_drv.do_drive(file_path);
- $fclose(file_path);
- /////////////////////////////////
- ////trig
- /////////////////////////////////
- # 30;
- start = 1'b1;
- # PERIOD;
- # PERIOD;
- start = 1'b0;
- # 30000;
- /////////////////////////////////
- ////SPI send
- /////////////////////////////////
- file_path = $fopen(DATA_O_FILE, "w");
- my_drv.do_drive(file_path);
- $fclose(file_path);
- /////////////////////////////////
- ////trig
- /////////////////////////////////
- start = 1'b1;
- # PERIOD;
- # PERIOD;
- start = 1'b0;
- # 30000;
- /////////////////////////////////
- ////SPI send
- /////////////////////////////////
- file_path = $fopen(DATA_O_FILE, "w");
- my_drv.do_drive(file_path);
- $fclose(file_path);
- /////////////////////////////////
- ////trig
- /////////////////////////////////
- start = 1'b1;
- # PERIOD;
- # PERIOD;
- start = 1'b0;
- # 30000;
-
-
- $finish(0);
-end
-
-////////////////////////////////////////////////////////////////////////////////////////
-//DUT
-////////////////////////////////////////////////////////////////////////////////////////
-
-//sync_out
-logic sync_out ;
-//irq
-logic irq ;
-//lvds rx
-logic [3 :0] lvds_data = '0;
-logic [0 :0] lvds_valid = '0;
-logic [0 :0] lvds_clk = '0;
-//DAC Data
-logic [6 :0] MSB_OUT [63:0] ;
-logic [4 :0] LSB_OUT [63:0] ;
-logic MSB_DUM [63:0] ;
-logic DEM_VLD ;
-//DAC Cfg Port
-logic [3 :0] Rterm ;
-logic [2 :0] CasAddr ;
-logic [2 :0] CasDw ;
-logic [9 :0] IMainCtrl ;
-logic [3 :0] IBleedCtrl ;
-logic [3 :0] ICkCml ;
-logic [31 :0] CurRsv0 ;
-logic [31 :0] CurRsv1 ;
-//CLK Cfg Port
-logic [0 :0] CcalRstn ;
-logic [3 :0] EnAllP ;
-logic [0 :0] DccEn ;
-logic [0 :0] CasGateCkCtrl ;
-logic [0 :0] SpiEnPi ;
-logic [0 :0] SpiEnQec ;
-logic [0 :0] SpiEnDcc ;
-logic [4 :0] SpiQecCtrlIp ;
-logic [4 :0] SpiQecCtrlIn ;
-logic [4 :0] SpiQecCtrlQp ;
-logic [4 :0] SpiQecCtrlQn ;
-logic [5 :0] SpiDccCtrlIup ;
-logic [5 :0] SpiDccCtrlIdn ;
-logic [5 :0] SpiDccCtrlQup ;
-logic [5 :0] SpiDccCtrlQdn ;
-logic [7 :0] SpiSiqNOut ;
-logic [7 :0] SpiSiqPOut ;
-logic [3 :0] SpiSiPOut ;
-logic [3 :0] SpiSqPOut ;
-logic [2 :0] CrtlCrossOverN ;
-logic [2 :0] CrtlCrossOverP ;
-logic [31 :0] CcalRsv0 ;
-logic [31 :0] CcalRsv1 ;
-logic [3 :0] SelCk10GDig ;
-logic [3 :0] SelCk2p5GDig ;
-logic [8 :0] SelCk625MDig ;
-logic [15 :0] P2sDataEn ;
-logic [15 :0] P2sEnAllP ;
-logic [15 :0] EnPiP ;
-logic [15 :0] CkDivRstn ;
-logic [31 :0] p2srsv0 ;
-logic [31 :0] p2srsv1 ;
-logic [15 :0] CkRxSw ;
-logic [15 :0] RstnCk ;
-logic [15 :0] CtrlZin ;
-
-
-da4008_chip_top U_da4008_chip_top (
- .PI_sclk ( spi_bus.sclk )
- ,.PI_csn ( spi_bus.csn )
- ,.PI_mosi ( spi_bus.mosi )
- ,.PO_miso ( spi_bus.miso )
- ,.PO_irq ( irq )
- ,.PI_async_rstn ( rst_n )
- ,.PI_sync_in ( start )
- ,.PO_sync_out ( sync_out )
- ,.clk ( clk )
- ,.lvds_data ( lvds_bus.data )
- ,.lvds_valid ( lvds_bus.valid )
- ,.lvds_clk ( lvds_bus.clk )
- ,.MSB_OUT ( MSB_OUT )
- ,.LSB_OUT ( LSB_OUT )
- ,.MSB_DUM ( MSB_DUM )
- ,.DEM_VLD ( DEM_VLD )
- ,.Rterm ( Rterm )
- ,.CasAddr ( CasAddr )
- ,.CasDw ( CasDw )
- ,.IMainCtrl ( IMainCtrl )
- ,.IBleedCtrl ( IBleedCtrl )
- ,.ICkCml ( ICkCml )
- ,.CurRsv0 ( CurRsv0 )
- ,.CurRsv1 ( CurRsv1 )
- ,.CcalRstn ( CcalRstn )
- ,.EnAllP ( EnAllP )
- ,.DccEn ( DccEn )
- ,.CasGateCkCtrl ( CasGateCkCtrl )
- ,.SpiEnPi ( SpiEnPi )
- ,.SpiEnQec ( SpiEnQec )
- ,.SpiEnDcc ( SpiEnDcc )
- ,.SpiQecCtrlIp ( SpiQecCtrlIp )
- ,.SpiQecCtrlIn ( SpiQecCtrlIn )
- ,.SpiQecCtrlQp ( SpiQecCtrlQp )
- ,.SpiQecCtrlQn ( SpiQecCtrlQn )
- ,.SpiDccCtrlIup ( SpiDccCtrlIup )
- ,.SpiDccCtrlIdn ( SpiDccCtrlIdn )
- ,.SpiDccCtrlQup ( SpiDccCtrlQup )
- ,.SpiDccCtrlQdn ( SpiDccCtrlQdn )
- ,.SpiSiqNOut ( SpiSiqNOut )
- ,.SpiSiqPOut ( SpiSiqPOut )
- ,.SpiSiPOut ( SpiSiPOut )
- ,.SpiSqPOut ( SpiSqPOut )
- ,.CrtlCrossOverN ( CrtlCrossOverN )
- ,.CrtlCrossOverP ( CrtlCrossOverP )
- ,.CcalRsv0 ( CcalRsv0 )
- ,.CcalRsv1 ( CcalRsv1 )
- ,.SelCk10GDig ( SelCk10GDig )
- ,.SelCk2p5GDig ( SelCk2p5GDig )
- ,.SelCk625MDig ( SelCk625MDig )
- ,.P2sDataEn ( P2sDataEn )
- ,.P2sEnAllP ( P2sEnAllP )
- ,.EnPiP ( EnPiP )
- ,.CkDivRstn ( CkDivRstn )
- ,.p2srsv0 ( p2srsv0 )
- ,.p2srsv1 ( p2srsv1 )
- ,.CkRxSw ( CkRxSw )
- ,.RstnCk ( RstnCk )
- ,.CtrlZin ( CtrlZin )
-);
-
-////////////////////////////////////////////////////////////////////////////////////////
-//DEM_Reverse_64CH
-////////////////////////////////////////////////////////////////////////////////////////
-
-logic vld_out ;
-logic [7 :0] data_out [63:0] ;
-
-DEM_Reverse_64CH U_DEM_Reverse_64CH (
- .clk ( clk )
- ,.msb_in ( MSB_OUT )
- ,.lsb_in ( LSB_OUT )
- ,.vld_in ( DEM_VLD )
- ,.vld_out ( vld_out )
- ,.data_out ( data_out )
-);
-
-logic [7 :0] data_out_r [63:0] ;
-logic vld_out_r ;
-
-always @(posedge clk_40g) begin
- data_out_r <= data_out ;
- vld_out_r <= vld_out ;
-end
-///////////////////////////////////////////////////////////////////////
-//DA4008 DEM output data save
-///////////////////////////////////////////////////////////////////////
-
-wire add_cnt = vld_out_r;
-wire end_cnt = 1'b0;
-
-logic [5 :0] cnt_c;
-wire [5 :0] cnt_n = end_cnt ? 6'h0 :
- add_cnt ? cnt_c + 1'b1 :
- cnt_c ;
-
-always @(posedge clk_40g or negedge rst_n) begin
- if(rst_n==1'b0) begin
- cnt_c <= 6'd0;
- end
- else begin
- cnt_c <= cnt_n;
- end
-end
-
-
-
-logic [7:0] cs_wave;
-always @(posedge clk_40g or negedge rst_n) begin
- if(rst_n==1'b0) begin
- cs_wave <= 16'h0;
- end
- else begin
- case(cnt_c)
- 6'd0 : cs_wave <= {~data_out_r[0 ][7],data_out_r[0 ][6:0]};
- 6'd1 : cs_wave <= {~data_out_r[1 ][7],data_out_r[1 ][6:0]};
- 6'd2 : cs_wave <= {~data_out_r[2 ][7],data_out_r[2 ][6:0]};
- 6'd3 : cs_wave <= {~data_out_r[3 ][7],data_out_r[3 ][6:0]};
- 6'd4 : cs_wave <= {~data_out_r[4 ][7],data_out_r[4 ][6:0]};
- 6'd5 : cs_wave <= {~data_out_r[5 ][7],data_out_r[5 ][6:0]};
- 6'd6 : cs_wave <= {~data_out_r[6 ][7],data_out_r[6 ][6:0]};
- 6'd7 : cs_wave <= {~data_out_r[7 ][7],data_out_r[7 ][6:0]};
- 6'd8 : cs_wave <= {~data_out_r[8 ][7],data_out_r[8 ][6:0]};
- 6'd9 : cs_wave <= {~data_out_r[9 ][7],data_out_r[9 ][6:0]};
- 6'd10 : cs_wave <= {~data_out_r[10][7],data_out_r[10][6:0]};
- 6'd11 : cs_wave <= {~data_out_r[11][7],data_out_r[11][6:0]};
- 6'd12 : cs_wave <= {~data_out_r[12][7],data_out_r[12][6:0]};
- 6'd13 : cs_wave <= {~data_out_r[13][7],data_out_r[13][6:0]};
- 6'd14 : cs_wave <= {~data_out_r[14][7],data_out_r[14][6:0]};
- 6'd15 : cs_wave <= {~data_out_r[15][7],data_out_r[15][6:0]};
- 6'd16 : cs_wave <= {~data_out_r[16][7],data_out_r[16][6:0]};
- 6'd17 : cs_wave <= {~data_out_r[17][7],data_out_r[17][6:0]};
- 6'd18 : cs_wave <= {~data_out_r[18][7],data_out_r[18][6:0]};
- 6'd19 : cs_wave <= {~data_out_r[19][7],data_out_r[19][6:0]};
- 6'd20 : cs_wave <= {~data_out_r[20][7],data_out_r[20][6:0]};
- 6'd21 : cs_wave <= {~data_out_r[21][7],data_out_r[21][6:0]};
- 6'd22 : cs_wave <= {~data_out_r[22][7],data_out_r[22][6:0]};
- 6'd23 : cs_wave <= {~data_out_r[23][7],data_out_r[23][6:0]};
- 6'd24 : cs_wave <= {~data_out_r[24][7],data_out_r[24][6:0]};
- 6'd25 : cs_wave <= {~data_out_r[25][7],data_out_r[25][6:0]};
- 6'd26 : cs_wave <= {~data_out_r[26][7],data_out_r[26][6:0]};
- 6'd27 : cs_wave <= {~data_out_r[27][7],data_out_r[27][6:0]};
- 6'd28 : cs_wave <= {~data_out_r[28][7],data_out_r[28][6:0]};
- 6'd29 : cs_wave <= {~data_out_r[29][7],data_out_r[29][6:0]};
- 6'd30 : cs_wave <= {~data_out_r[30][7],data_out_r[30][6:0]};
- 6'd31 : cs_wave <= {~data_out_r[31][7],data_out_r[31][6:0]};
- 6'd32 : cs_wave <= {~data_out_r[32][7],data_out_r[32][6:0]};
- 6'd33 : cs_wave <= {~data_out_r[33][7],data_out_r[33][6:0]};
- 6'd34 : cs_wave <= {~data_out_r[34][7],data_out_r[34][6:0]};
- 6'd35 : cs_wave <= {~data_out_r[35][7],data_out_r[35][6:0]};
- 6'd36 : cs_wave <= {~data_out_r[36][7],data_out_r[36][6:0]};
- 6'd37 : cs_wave <= {~data_out_r[37][7],data_out_r[37][6:0]};
- 6'd38 : cs_wave <= {~data_out_r[38][7],data_out_r[38][6:0]};
- 6'd39 : cs_wave <= {~data_out_r[39][7],data_out_r[39][6:0]};
- 6'd40 : cs_wave <= {~data_out_r[40][7],data_out_r[40][6:0]};
- 6'd41 : cs_wave <= {~data_out_r[41][7],data_out_r[41][6:0]};
- 6'd42 : cs_wave <= {~data_out_r[42][7],data_out_r[42][6:0]};
- 6'd43 : cs_wave <= {~data_out_r[43][7],data_out_r[43][6:0]};
- 6'd44 : cs_wave <= {~data_out_r[44][7],data_out_r[44][6:0]};
- 6'd45 : cs_wave <= {~data_out_r[45][7],data_out_r[45][6:0]};
- 6'd46 : cs_wave <= {~data_out_r[46][7],data_out_r[46][6:0]};
- 6'd47 : cs_wave <= {~data_out_r[47][7],data_out_r[47][6:0]};
- 6'd48 : cs_wave <= {~data_out_r[48][7],data_out_r[48][6:0]};
- 6'd49 : cs_wave <= {~data_out_r[49][7],data_out_r[49][6:0]};
- 6'd50 : cs_wave <= {~data_out_r[50][7],data_out_r[50][6:0]};
- 6'd51 : cs_wave <= {~data_out_r[51][7],data_out_r[51][6:0]};
- 6'd52 : cs_wave <= {~data_out_r[52][7],data_out_r[52][6:0]};
- 6'd53 : cs_wave <= {~data_out_r[53][7],data_out_r[53][6:0]};
- 6'd54 : cs_wave <= {~data_out_r[54][7],data_out_r[54][6:0]};
- 6'd55 : cs_wave <= {~data_out_r[55][7],data_out_r[55][6:0]};
- 6'd56 : cs_wave <= {~data_out_r[56][7],data_out_r[56][6:0]};
- 6'd57 : cs_wave <= {~data_out_r[57][7],data_out_r[57][6:0]};
- 6'd58 : cs_wave <= {~data_out_r[58][7],data_out_r[58][6:0]};
- 6'd59 : cs_wave <= {~data_out_r[59][7],data_out_r[59][6:0]};
- 6'd60 : cs_wave <= {~data_out_r[60][7],data_out_r[60][6:0]};
- 6'd61 : cs_wave <= {~data_out_r[61][7],data_out_r[61][6:0]};
- 6'd62 : cs_wave <= {~data_out_r[62][7],data_out_r[62][6:0]};
- 6'd63 : cs_wave <= {~data_out_r[63][7],data_out_r[63][6:0]};
- endcase
- end
-end
-endmodule
diff --git a/DA4008_V1.2/sim/chip_top/TB说明.md b/DA4008_V1.2/sim/chip_top/TB说明.md
deleted file mode 100644
index a765a71..0000000
--- a/DA4008_V1.2/sim/chip_top/TB说明.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# 测试平台说明文档 (TB.sv)
-
-## 1. 概述
-
-本测试平台用于验证 `da4008_chip_top` 芯片的数字功能。通过 SPI 接口配置芯片内部寄存器,并通过 LVDS 接口输入数据帧,观察芯片输出的并行数据(MSB_OUT/LSB_OUT)以及经过后处理的波形数据。测试平台包含时钟生成、复位控制、驱动器模型、待测芯片实例化以及数据采集逻辑。
-
-## 2. 主要模块及功能
-
-### 2.1 时钟生成
-
-- **clk**:周期 1.536 ns,用于芯片主时钟。
-- **clk_40g**:周期 0.024 ns,用于高速数据采集(后处理模块采样时钟)。
-
-两个时钟均由 `clock_tb` 模块实例化产生。
-
-### 2.2 复位信号
-
-- `rst_n`:低有效复位,初始为 0,延迟 20 ns 后置为 1。
-
-### 2.3 配置文件读取
-
-测试平台通过读取临时文件获取配置和数据的路径:
-
-- `CASE_TEMP = "../../case_temp.txt"`:存储 SPI 配置文件路径。
-- `DATA_TEMP = "../../data_temp.txt"`:存储输出数据文件路径。
-- `LVDS_FILE = "../../../../case/lvds/0305/lvds.txt"`:LVDS 输入数据文件路径。
-
-在 `initial` 块中读取这些路径,并存入 `CONFIG_FILE` 和 `DATA_O_FILE` 字符串变量。
-
-### 2.4 接口及驱动器
-
-- **SPI 接口**:`spi_if` 模块实例化为 `spi_bus`,包含 `sclk`、`mosi`、`miso`、`csn` 信号。通过 `virtual spi_if vif` 传递。
-- **LVDS 接口**:`lvds_if` 模块实例化为 `lvds_bus`,包含 `data`、`valid`、`clk` 信号。通过 `virtual lvds_if lvds_vif` 传递。
-- **SPI 驱动器**:`spi_driver` 类对象 `my_drv`,负责从 `CONFIG_FILE` 读取配置序列并驱动 SPI 总线,同时将读取的结果写入 `DATA_O_FILE`。
-- **LVDS 驱动器**:`lvds_driver` 类对象 `lvds_drv`,负责从 `LVDS_FILE` 读取数据帧并驱动 LVDS 总线。先发送训练序列(`train_count = 100`),然后发送加扰数据帧。
-
-### 2.5 测试流程
-
-1. 初始化复位和驱动器对象。
-2. 释放复位后,LVDS 驱动器发送训练序列和数据帧。
-3. 首次调用 `my_drv.do_drive(file_path)` 将 SPI 配置写入芯片(同时可能回读并保存)。
-4. 拉高 `start` 信号两个周期,启动芯片内部同步。
-5. 等待 30,000 ns 后再次调用 `do_drive` 保存数据。
-6. 重复步骤 4-5 两次,共三次数据采集。
-7. 仿真结束(`$finish`)。
-
-### 2.6 待测芯片实例化
-
-`da4008_chip_top` 例化为 `U_da4008_chip_top`,连接信号包括:
-
-- SPI 接口:`PI_sclk`, `PI_csn`, `PI_mosi`, `PO_miso`
-- 中断:`PO_irq`
-- 同步信号:`PI_sync_in` (start), `PO_sync_out`
-- 时钟:`clk`
-- LVDS 输入:`lvds_data`, `lvds_valid`, `lvds_clk`
-- DAC 输出总线:`MSB_OUT[63:0]`, `LSB_OUT[63:0]`, `MSB_DUM[63:0]`, `DEM_VLD`
-- 各类配置端口(电流、时钟、P2S 等)
-
-### 2.7 后处理模块
-
-- **DEM_Reverse_64CH**:将 `MSB_OUT` 和 `LSB_OUT` 合并并反向排列,输出 64 路 8 位数据 `data_out[63:0]` 及有效信号 `vld_out`。
-- 使用 `clk_40g` 将 `data_out` 和 `vld_out` 打一拍得到 `data_out_r` 和 `vld_out_r`。
-- 计数器 `cnt_c`:在 `vld_out_r` 有效时递增(0~63 循环),用于轮询选择当前通道数据。
-- `cs_wave`:根据 `cnt_c` 选择对应通道的 `data_out_r`,并将最高位取反(可能是为了满足特定输出格式),输出 8 位波形数据。
-
-### 2.8 波形记录
-
-使用 `$fsdbAutoSwitchDumpfile` 和 `$fsdbDumpvars` 记录 FSDB 格式波形,支持 MDA 转储,便于调试。
-
-## 3. 文件依赖
-
-- `../../rtl/define/chip_define.v`:芯片定义文件。
-- `../../model/SPI_DRIVER.sv`:SPI 驱动器模型。
-- `../../model/LVDS_DRIVER.sv`:LVDS 驱动器模型。
-- `clock_tb` 时钟发生模块。
-- `spi_if`、`lvds_if` SPI接口文件。
-- `DEM_Reverse_64CH` DEM解码模块。
-
-## 4. 仿真控制
-
-通过修改 `case_temp.txt` 和 `data_temp.txt` 可指定不同的配置文件和输出文件。LVDS 数据文件路径固定为 `LVDS_FILE`,可根据需要修改。
-
-## 5. 注意事项
-
-- 仿真时间单位/精度为 1ns/1ps。
-- 驱动器的具体实现未在此文件中给出,需确保相关模型正确。
-- 多次调用 `my_drv.do_drive` 可能用于在不同时刻捕获芯片内部状态。
-- `cs_wave` 的生成方式暗示了数据采集的时序要求,需保证 `clk_40g` 与芯片输出时钟的同步关系。
-
----
-
-以上为该测试平台的结构与功能说明,可作为仿真环境的使用参考。
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/TB说明.pdf b/DA4008_V1.2/sim/chip_top/TB说明.pdf
deleted file mode 100644
index 941aaac..0000000
Binary files a/DA4008_V1.2/sim/chip_top/TB说明.pdf and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/backup/filelist_syn.f b/DA4008_V1.2/sim/chip_top/backup/filelist_syn.f
deleted file mode 100644
index 59d68ec..0000000
--- a/DA4008_V1.2/sim/chip_top/backup/filelist_syn.f
+++ /dev/null
@@ -1,23 +0,0 @@
-../../../../rtl/define/chip_define.v
-../../../../sim/chip_top/TB.sv
-../../../../model/spi_if.sv
-../../../../model/DW01_addsub.v
-../../../../model/DW02_mult.v
-../../../../model/DW_mult_pipe.v
-../../../../model/clk_gen.v
-../../../../model/clock_tb.v
-../../../../model/reset_tb.v
-../../../../model/thermo2binary_top.v
-../../../../model/thermo7_binary3.v
-../../../../model/thermo15_binary4.v
-../../../../model/glbl.v
-../../../../rtl/memory/tsdn28hpcpuhdb128x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb64x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb512x128m4mwr_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/dem/DEM_31MSB_decoder_1ch.v
-../../../../rtl/dem/DEM_31MSB_decoder_16ch_XY.v
-/data/pdk/TSMCHOME/digital/Front_End/verilog/tphn28hpcpgv18_110a/tphn28hpcpgv18.v
-../../../../lib/tcbn28hpcplusbwp7t35p140.v
-../../../../syn/current/outputs/xyz_chip_top.syn.v
diff --git a/DA4008_V1.2/sim/chip_top/backup/filelist_vlg.f b/DA4008_V1.2/sim/chip_top/backup/filelist_vlg.f
deleted file mode 100644
index c92f7d1..0000000
--- a/DA4008_V1.2/sim/chip_top/backup/filelist_vlg.f
+++ /dev/null
@@ -1,46 +0,0 @@
-../../../../rtl/define/chip_define.v
-../../../../lib/tphn28hpcpgv18.v
-../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/io/iopad.v
-../../../../rtl/systemregfile/systemregfile.v
-../../../../rtl/dacif/dacif.v
-../../../../rtl/fifo/syn_fwft_fifo.v
-../../../../rtl/dac_regfile/dac_regfile.v
-../../../../rtl/lvds/ulink_rx.sv
-../../../../rtl/rstgen/rst_gen_unit.v
-../../../../rtl/rstgen/rst_sync.v
-../../../../rtl/comm/sirv_gnrl_xchecker.v
-../../../../rtl/comm/pulse_generator.sv
-../../../../rtl/comm/sirv_gnrl_dffs.v
-../../../../rtl/comm/syncer.v
-../../../../rtl/comm/ramp_gen.v
-../../../../rtl/memory/tsmc_dpram.v
-../../../../rtl/memory/sram_if.sv
-../../../../rtl/memory/sram_dmux.sv
-../../../../rtl/memory/dpram.v
-../../../../rtl/memory/bhv_spram.v
-../../../../rtl/memory/spram.v
-../../../../rtl/clk/clk_regfile.v
-../../../../rtl/awg/awg_top.sv
-../../../../rtl/awg/awg_ctrl.v
-../../../../rtl/dem/DEM_PhaseSync_4008.sv
-../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-../../../../rtl/top/da4008_chip_top.sv
-../../../../rtl/top/digital_top.sv
-../../../../rtl/spi/spi_bus_decoder.sv
-../../../../rtl/spi/spi_slave.v
-../../../../rtl/spi/spi_pll.v
-../../../../rtl/spi/spi_sys.v
-../../../../model/clock_tb.v
-../../../../model/spi_if.sv
-../../../../model/clk_gen.v
-../../../../model/DEM_Reverse_64CH.v
-../../../../model/DEM_Reverse.v
-../../../../model/reset_tb.v
-../../../../model/DW_stream_sync.v
-../../../../model/DW_reset_sync.v
-../../../../model/DW_sync.v
-../../../../model/DW_pulse_sync.v
-../../../../sim/chip_top/TB.sv
-../../../../rtl/define/chip_undefine.v
diff --git a/DA4008_V1.2/sim/chip_top/case_temp.txt b/DA4008_V1.2/sim/chip_top/case_temp.txt
deleted file mode 100644
index 227fba4..0000000
--- a/DA4008_V1.2/sim/chip_top/case_temp.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
- ../../../../case/config/try//sine_1g.txt
diff --git a/DA4008_V1.2/sim/chip_top/compile.log b/DA4008_V1.2/sim/chip_top/compile.log
deleted file mode 100644
index a913f66..0000000
--- a/DA4008_V1.2/sim/chip_top/compile.log
+++ /dev/null
@@ -1,55 +0,0 @@
-Command: vcs -full64 -j8 -sverilog +lint=TFIPC-L +v2k -debug_access+all -debug_region+cell+encrypt \
--P /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab \
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a +define+DUMP_FSDB \
--lca -q -timescale=1ns/1ps +nospecify -l compile.log -cm line+cond+fsm+tgl+branch \
--cm_dir ./coverage/simv.vdb -f filelist_vlg.f +incdir+./../../rtl/define +incdir+./../../rtl/qubitmcu \
-+incdir+./../../model
-
-Warning-[LCA_FEATURES_ENABLED] Usage warning
- LCA features enabled by '-lca' argument on the command line. For more
- information regarding list of LCA features please refer to Chapter "LCA
- features" in the VCS/VCS-MX Release Notes
-
-
-Warning-[RVOSFD] Return value discarded
-../../model/SPI_DRIVER.sv, 50
- System function '$fscanf' is invoked as task, its return value is discarded.
- "../../model/SPI_DRIVER.sv", 50
- Source info: $fscanf(file_id,"%h\n",value);
-
-
-Warning-[RVOSFD] Return value discarded
-../../model/LVDS_DRIVER.sv, 41
- System function '$fscanf' is invoked as task, its return value is discarded.
- "../../model/LVDS_DRIVER.sv", 41
- Source info: $fscanf(file_id, "%h\n", value);
-
-
-Warning-[RVOSFD] Return value discarded
-../../sim/chip_top/TB.sv, 46
- System function '$fscanf' is invoked as task, its return value is discarded.
- "../../sim/chip_top/TB.sv", 46
- Source info: $fscanf(file_path, "%s", CONFIG_FILE);
-
-
-Warning-[RVOSFD] Return value discarded
-../../sim/chip_top/TB.sv, 52
- System function '$fscanf' is invoked as task, its return value is discarded.
- "../../sim/chip_top/TB.sv", 52
- Source info: $fscanf(file_path, "%s", DATA_O_FILE);
-
-
-Lint-[TFIPC-L] Too few instance port connections
-../../sim/chip_top/TB.sv, 214
-TB, "da4008_chip_top U_da4008_chip_top( .PI_sclk (spi_bus.sclk), .PI_csn (spi_bus.csn), .PI_mosi (spi_bus.mosi), .PO_miso (spi_bus.miso), .PO_irq (irq), .PI_async_rstn (rst_n), .PI_sync_in (start), .PO_sync_out (sync_out), .clk (clk), .lvds_data (lvds_bus.data), .lvds_valid (lvds_bus.valid), .lvds_clk (lvds_bus.clk), .MSB_OUT (MSB_OUT), .LSB_OUT (LSB_OUT), .MSB_DUM (MSB_DUM), .DEM_VLD (DEM_VLD), .Rterm (Rterm), .CasAddr (CasAddr), .CasDw (CasDw), .IMainCtrl (IMainCtrl), .IBleedCtrl (IBleedCtrl), .ICkCml (ICkCml), .CurRsv0 (CurRsv0), .CurRsv1 (CurRsv1), .CcalRstn (CcalRstn), .EnAllP (EnAllP), .DccEn (DccEn), .CasGateCkCtrl (CasGateCkCtrl), .SpiEnPi (SpiEnPi), .SpiEnQec (SpiEnQec), .SpiEnDcc (SpiEnDcc), .SpiQecCtrlIp (SpiQecCtrlI ... "
- The above instance has fewer port connections than the module definition,
- output port 'phase_tap' is not connected.
-
-VCS Coverage Metrics Release O-2018.09-SP2_Full64 Copyright (c) 1991-2018 by Synopsys Inc.
-Notice: Ports coerced to inout, use -notice for details
-
-Note-[VCS_PARAL] Parallel code-gen enabled
- VCS is running with parallel code generation(-j)...
-
-147 modules and 0 UDP read.
-../simv up to date
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.cmoptions b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.cmoptions
deleted file mode 100644
index aa3c928..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.cmoptions
+++ /dev/null
@@ -1,16 +0,0 @@
-Instrument
-cond 3
-line 3
-fsm 65539
-tgl 8
-assign 0
-obc 0
-path 0
-branch 3
-Count 0
-Glitch -1
-cm_tglmda 0
-cm_tglstructarr 0
-cm_tglcount 0
-cm_hier 0
-cm_assert_hier 0
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.vdb_version b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.vdb_version
deleted file mode 100644
index 7239f16..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/.vdb_version
+++ /dev/null
@@ -1 +0,0 @@
-O-2018.09-SP2
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml
deleted file mode 100644
index c4df61c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.instance_parameters.txt b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.instance_parameters.txt
deleted file mode 100644
index 075a04e..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.instance_parameters.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-TB.U_da4008_chip_top.digital_top.pulse_inst_sync.SM_IDLE0
-TB.U_da4008_chip_top.digital_top.pulse_inst_sync.SM_WAIT1
-TB.U_da4008_chip_top.digital_top.pulse_inst_sync.SM_WORK2
-TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.IDLE0
-TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.READ3
-TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.RECVCMD1
-TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.WRITE2
-TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.CMD1
-TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.HOLD3
-TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.IDLE0
-TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.WAVE2
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml
deleted file mode 100644
index e3bb612..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml
deleted file mode 100644
index 3093744..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml
deleted file mode 100644
index 4d5ea33..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml
deleted file mode 100644
index 7924c6e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt
deleted file mode 100644
index f25c53c..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-// Synopsys, Inc.
-// User: shbyang
-// Date: Sat Mar 14 17:19:26 2026
-
-// ==================================================================================================
-// This config file prototype is produced from the last run using the complete list of extracted fsms.
-// Please note that by providing your own description of the module you are enforcing what will be
-// extracted for that module.
-// Copy this file to your source directory and edit it as described below,
-// then pass the file to VCS using the -cm_fsmcfg command line option.
-// FSMs will be extracted normally for any module not mentioned in this file
-// ==================================================================================================
-// 1. For every module that you want to specify yourself, use:
-// MODULE==name
-// -----------------------------------------------------
-// The following options are defining the behavior on the module level.
-// -----------------------------------------------------
-// 1.1 You can control what fsms should be used within this module:
-// FSMS=AUTO
-// this means that you want VCS to automatically extract all
-// detectable FSMs from this module.
-// -----------------------------------------------------
-// FSMS=EXCLUDE
-// this means that you want all fsms except the ones from the list that follows
-// if the list is empty, all fsms will be extracted for this module
-// -----------------------------------------------------
-// FSMS=RESTRICT
-// this means that you want only the fsms from the list that follows
-// if the list is empty, no fsms will be extracted for this module
-// -----------------------------------------------------
-// If none of these options are specified, the program will assume FSMS=RESTRICT
-// -----------------------------------------------------
-// 1.2 You can specify that the state with the minimal value should be used as a
-// start state for all sequences in every fsm in the module.
-// FSMS=START_STATE_DFLT
-// For any particular fsm you can overwrite this behavior inside its description.
-// -----------------------------------------------------
-// 2. Each fsm description in the list of fsms should be specified as follows:
-// 2.1 provide the current state variable declaration:
-// CURRENT= name of the current state variable
-// -----------------------------------------------------
-// 2.2 if next state variable is different from the current state provide:
-// NEXT= next state variable
-// if you don't use NEXT=, the program will assume that CURRENT and NEXT are the same
-// -----------------------------------------------------
-// 2.3 if you want to provide the restrictive the list of states, provide:
-// STATES= s0,s1 etc. where s0 is either a name or a value of the state
-// if you don't use STATES=, the program will assume that you want to use all states
-// -----------------------------------------------------
-// 2.4 if you want to ignore some states, specify them in the following list:
-// STATES_X= s0,s1, etc.
-// -----------------------------------------------------
-// 2.5 if you want to mark, that some states should never be reached, specify them as a list:
-// STATES_NEVER= s0,s1, etc.
-// -----------------------------------------------------
-// 2.6 similar to the STATES, if you want to provide the restrictive the list of transitions, specify:
-// TRANSITIONS= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.7 similar to the STATES_X, if you want to ignore some transitions, specify them in the following list:
-// TRANSITIONS_X= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.8 similar to the STATES_NEVER,if you want to mark, that some transitions should never occur,
-// specify them as a list:
-// TRANSITIONS_NEVER= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.9 if you want to specify the start state use:
-// START_STATE= s0
-// -----------------------------------------------------
-// Please note:
-// - that a state in every list can be specified either by name or by value.
-// - in specifying the transitions you can use * in order to refer to 'any' state.
-// ==================================================================================================
-// Uncomment and modify the following 2 line to override default FSM sequence limits for all FSMs in the design.
-//SEQ_NUMBER_MAX=10000
-//SEQ_LENGTH_MAX=32
-
-MODULE=pulse_generator
-CURRENT=current_state
-NEXT=current_state
-STATES=SM_IDLE,SM_WAIT,SM_WORK
-TRANSITIONS=SM_IDLE->SM_WAIT,
-SM_WAIT->SM_IDLE,
-SM_WAIT->SM_WORK,
-SM_WORK->SM_IDLE
-MODULE=spi_sys
-CURRENT=state_c
-NEXT=qout
-STATES=IDLE,READ,RECVCMD,WRITE
-TRANSITIONS=IDLE->RECVCMD,
-READ->IDLE,
-RECVCMD->IDLE,
-RECVCMD->READ,
-RECVCMD->WRITE,
-WRITE->IDLE
-MODULE=awg_ctrl
-CURRENT=state_c
-NEXT=qout
-STATES=CMD,HOLD,IDLE,WAVE
-TRANSITIONS=CMD->HOLD,
-CMD->WAVE,
-HOLD->IDLE,
-HOLD->WAVE,
-IDLE->CMD,
-WAVE->HOLD,
-WAVE->IDLE
-MODULE=ulink_rx_train
-CURRENT=state_c
-NEXT=qout
-STATES=SM_DOWN,SM_EXIT,SM_MATCH,SM_READY
-TRANSITIONS=SM_DOWN->SM_MATCH,
-SM_EXIT->SM_DOWN,
-SM_EXIT->SM_READY,
-SM_MATCH->SM_DOWN,
-SM_MATCH->SM_EXIT,
-SM_READY->SM_DOWN
-MODULE=ulink_frame_receiver
-CURRENT=word_state_c
-NEXT=qout
-STATES=S_IDLE,S_WORD0,S_WORD1,S_WORD2,S_WORD3
-TRANSITIONS=S_IDLE->S_WORD0,
-S_WORD0->S_WORD1,
-S_WORD1->S_WORD2,
-S_WORD2->S_WORD3,
-S_WORD3->S_IDLE
-MODULE=ulink_frame_receiver
-CURRENT=state_c
-NEXT=qout
-STATES=ST_CRC,ST_DATA,ST_HEAD,ST_IDLE
-TRANSITIONS=ST_CRC->ST_IDLE,
-ST_DATA->ST_CRC,
-ST_HEAD->ST_DATA,
-ST_IDLE->ST_HEAD
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml
deleted file mode 100644
index 19fc93c..0000000
--- a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml
deleted file mode 100644
index 231958f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml b/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml
deleted file mode 100644
index 22d61dd..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/.mode64 b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/.mode64
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/branch.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/branch.verilog.data.xml
deleted file mode 100644
index 72b53a3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/branch.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/cond.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/cond.verilog.data.xml
deleted file mode 100644
index 959763f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/cond.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/fsm.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/fsm.verilog.data.xml
deleted file mode 100644
index d45b30b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/fsm.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/line.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/line.verilog.data.xml
deleted file mode 100644
index de193e5..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/line.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/siminfo.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/siminfo.xml
deleted file mode 100644
index 89f88af..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/siminfo.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/tgl.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/tgl.verilog.data.xml
deleted file mode 100644
index cfad5a1..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/flattop/tgl.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/branch.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/branch.verilog.data.xml
deleted file mode 100644
index 0dc7ba4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/branch.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/cond.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/cond.verilog.data.xml
deleted file mode 100644
index 6daf616..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/cond.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/fsm.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/fsm.verilog.data.xml
deleted file mode 100644
index c5e1d08..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/fsm.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/line.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/line.verilog.data.xml
deleted file mode 100644
index 60d8de8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/line.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/siminfo.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/siminfo.xml
deleted file mode 100644
index d7b0674..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/siminfo.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/tgl.verilog.data.xml b/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/tgl.verilog.data.xml
deleted file mode 100644
index 72f63ad..0000000
Binary files a/DA4008_V1.2/sim/chip_top/coverage/try.vdb/snps/coverage/db/testdata/sine_1g/tgl.verilog.data.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/Makefile b/DA4008_V1.2/sim/chip_top/csrc/Makefile
deleted file mode 100644
index 4dd7912..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/Makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-# Makefile generated by VCS to build your model
-# This file may be modified; VCS will not overwrite it unless -Mupdate is used
-
-# define default verilog source directory
-VSRC=..
-
-# Override TARGET_ARCH
-TARGET_ARCH=
-
-# Choose name of executable
-PRODUCTBASE=$(VSRC)/simv
-
-PRODUCT=$(PRODUCTBASE)
-
-# Product timestamp file. If product is newer than this one,
-# we will also re-link the product.
-PRODUCT_TIMESTAMP=product_timestamp
-
-# Path to runtime library
-DEPLIBS=
-VCSUCLI=-lvcsucli
-RUNTIME=-lvcsnew -lsimprofile -lreader_common /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libBA.a -luclinative /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o $(DEPLIBS)
-
-VCS_SAVE_RESTORE_OBJ=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
-
-# Select your favorite compiler
-
-# Linux:
-VCS_CC=gcc
-
-# Internal CC for gen_c flow:
-CC_CG=gcc
-# User overrode default CC:
-VCS_CC=gcc
-# Loader
-LD=g++
-
-# Strip Flags for target product
-STRIPFLAGS=
-
-PRE_LDFLAGS= # Loader Flags
-LDFLAGS= -rdynamic -Wl,-rpath=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib -L/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib
-# Picarchive Flags
-PICLDFLAGS=-Wl,-rpath-link=./ -Wl,-rpath='$$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$$ORIGIN'/simv.daidir//scsim.db.dir
-
-# C run time startup
-CRT0=
-# C run time startup
-CRTN=
-# Machine specific libraries
-SYSLIBS=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm -lc -lpthread -ldl
-
-# Default defines
-SHELL=/bin/sh
-
-VCSTMPSPECARG=
-VCSTMPSPECENV=
-# NOTE: if you have little space in $TMPDIR, but plenty in /foo,
-#and you are using gcc, uncomment the next line
-#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo
-
-TMPSPECARG=$(VCSTMPSPECARG)
-TMPSPECENV=$(VCSTMPSPECENV)
-CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG)
-
-# C flags for compilation
-CFLAGS=-w -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
-
-CFLAGS_O0=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O0 -fno-strict-aliasing
-
-CFLAGS_CG=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O -fno-strict-aliasing
-
-LD_PARTIAL_LOADER=ld
-# Partial linking
-LD_PARTIAL=$(LD_PARTIAL_LOADER) -r -o
-ASFLAGS=
-LIBS=-lzerosoft_rt_stubs -lvirsim -lerrorinf -lsnpsmalloc -lvfs /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
-# Note: if make gives you errors about include, either get gmake, or
-# replace the following line with the contents of the file filelist,
-# EACH TIME IT CHANGES
-# included file defines OBJS, and is automatically generated by vcs
-include filelist
-
-OBJS=$(VLOG_OBJS) $(SYSC_OBJS) $(VHDL_OBJS)
-
-product : $(PRODUCT_TIMESTAMP)
- @echo $(PRODUCT) up to date
-
-objects : $(OBJS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS)
-
-clean :
- rm -f $(VCS_OBJS) $(CU_OBJS)
-
-clobber : clean
- rm -f $(PRODUCT) $(PRODUCT_TIMESTAMP)
-
-picclean :
- @rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so
- @rm -f $(PRODUCT).daidir/_[0-9]*_archive_*.so 2>/dev/null
-
-product_clean_order :
- @$(MAKE) -f Makefile --no-print-directory picclean
- @$(MAKE) -f Makefile --no-print-directory product_order
-
-product_order : $(PRODUCT)
-
-$(PRODUCT_TIMESTAMP) : product_clean_order
- @-if [ -x $(PRODUCT) ]; then chmod -x $(PRODUCT); fi
- @$(LD) $(CRT0) -o $(PRODUCT) $(PRE_LDFLAGS) $(STRIPFLAGS) $(PCLDFLAGS) $(PICLDFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(RUNTIME) -Wl,-whole-archive $(VCSUCLI) -Wl,-no-whole-archive $(LINK_TB) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(VCS_SAVE_RESTORE_OBJ) $(SYSLIBS) $(CRTN)
- @rm -f csrc[0-9]*.o
- @touch $(PRODUCT_TIMESTAMP)
- @-if [ -d ./objs ]; then find ./objs -type d -empty -delete; fi
-
-$(PRODUCT) : $(LD_VERSION_CHECK) $(OBJS) $(DOTLIBS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(CMODLIB) /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsnew.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsimprofile.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libreader_common.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libBA.a /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libuclinative.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsucli.so $(VCS_SAVE_RESTORE_OBJ)
- @touch $(PRODUCT)
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/Makefile.hsopt b/DA4008_V1.2/sim/chip_top/csrc/Makefile.hsopt
deleted file mode 100644
index dcb7127..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/Makefile.hsopt
+++ /dev/null
@@ -1,47 +0,0 @@
-# Makefile generated by VCS to build rmapats.so for your model
-VSRC=..
-
-# Override TARGET_ARCH
-TARGET_ARCH=
-
-# Select your favorite compiler
-
-# Linux:
-VCS_CC=gcc
-
-# Internal CC for gen_c flow:
-CC_CG=gcc
-
-# User overrode default CC:
-VCS_CC=gcc
-# Loader
-LD=g++
-# Loader Flags
-LDFLAGS=
-
-# Default defines
-SHELL=/bin/sh
-
-VCSTMPSPECARG=
-VCSTMPSPECENV=
-# NOTE: if you have little space in $TMPDIR, but plenty in /foo,
-#and you are using gcc, uncomment the next line
-#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo
-
-TMPSPECARG=$(VCSTMPSPECARG)
-TMPSPECENV=$(VCSTMPSPECENV)
-CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG)
-
-# C flags for compilation
-CFLAGS=-w -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
-
-CFLAGS_CG=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O -fno-strict-aliasing
-
-ASFLAGS=
-LIBS=
-
-include filelist.hsopt
-
-
-rmapats.so: $(HSOPT_OBJS)
- @$(VCS_CC) $(LDFLAGS) $(LIBS) -shared -o ./../simv.daidir/rmapats.so $(HSOPT_OBJS)
diff --git a/DA4008_V1.2/sim/chip_top/csrc/SIM_l.o b/DA4008_V1.2/sim/chip_top/csrc/SIM_l.o
deleted file mode 100644
index 8fd683e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/SIM_l.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32553_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32553_archive_1.so
deleted file mode 120000
index b828283..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32553_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32553_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32573_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32573_archive_1.so
deleted file mode 120000
index d21a2a4..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32573_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32573_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32574_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32574_archive_1.so
deleted file mode 120000
index fb39da5..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32574_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32574_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32575_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32575_archive_1.so
deleted file mode 120000
index bc1dea6..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32575_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32575_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32576_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32576_archive_1.so
deleted file mode 120000
index eb06837..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32576_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32576_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32577_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32577_archive_1.so
deleted file mode 120000
index 140ec21..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32577_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32577_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32578_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32578_archive_1.so
deleted file mode 120000
index 9089074..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32578_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32578_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_32579_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_32579_archive_1.so
deleted file mode 120000
index 7ffb732..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_32579_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_32579_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_64094_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_64094_archive_1.so
deleted file mode 120000
index 56a4169..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_64094_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_64094_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_64123_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_64123_archive_1.so
deleted file mode 120000
index f88957f..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_64123_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_64123_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_csrc0.so b/DA4008_V1.2/sim/chip_top/csrc/_csrc0.so
deleted file mode 120000
index ea448c3..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_csrc0.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_csrc0.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_prev_archive_1.so b/DA4008_V1.2/sim/chip_top/csrc/_prev_archive_1.so
deleted file mode 120000
index 718cfb3..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_prev_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_prev_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_prev_cginfo.json b/DA4008_V1.2/sim/chip_top/csrc/_prev_cginfo.json
deleted file mode 100644
index fab4c68..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_prev_cginfo.json
+++ /dev/null
@@ -1,1291 +0,0 @@
-{
- "CurCompileUdps": {},
- "cycles_program_begin": 69836683650917054,
- "NameTable": {
- "PDDW04SDGZ_H_G": [
- "PDDW04SDGZ_H_G",
- "CQ4ek",
- "module",
- 12
- ],
- "PDB3AC_V_G": [
- "PDB3AC_V_G",
- "dviib",
- "module",
- 9
- ],
- "PCLAMP_G": [
- "PCLAMP_G",
- "DA1Pu",
- "module",
- 3
- ],
- "PDUW04DGZ_H_G": [
- "PDUW04DGZ_H_G",
- "YTwQz",
- "module",
- 26
- ],
- "PVSS1ANA_V_G": [
- "PVSS1ANA_V_G",
- "gL5Pd",
- "module",
- 95
- ],
- "PVDD3A_H_G": [
- "PVDD3A_H_G",
- "DTJPF",
- "module",
- 86
- ],
- "PDDW08DGZ_V_G": [
- "PDDW08DGZ_V_G",
- "K0TuH",
- "module",
- 15
- ],
- "PRCUTA_G": [
- "PRCUTA_G",
- "uuDJt",
- "module",
- 47
- ],
- "dpram": [
- "dpram",
- "bQxt6",
- "module",
- 135
- ],
- "PRDW08DGZ_V_G": [
- "PRDW08DGZ_V_G",
- "ZZxj5",
- "module",
- 49
- ],
- "_vcs_unit__348857874": [
- "_vcs_unit__348857874",
- "FgDcH",
- "module",
- 1
- ],
- "PDUW16SDGZ_H_G": [
- "PDUW16SDGZ_H_G",
- "iWZrk",
- "module",
- 40
- ],
- "PDXOEDG_V_G": [
- "PDXOEDG_V_G",
- "EZF3t",
- "module",
- 43
- ],
- "PENDCAPA_G": [
- "PENDCAPA_G",
- "wpYca",
- "module",
- 45
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 127
- ],
- "spi_bus_decoder_0000": [
- "spi_bus_decoder_0000",
- "qLaCg",
- "module",
- 142
- ],
- "PDDW08DGZ_H_G": [
- "PDDW08DGZ_H_G",
- "C0gYT",
- "module",
- 14
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 2
- ],
- "PVDD2ANA_V_G": [
- "PVDD2ANA_V_G",
- "J6VbG",
- "module",
- 81
- ],
- "PDUW12SDGZ_V_G": [
- "PDUW12SDGZ_V_G",
- "qCQFW",
- "module",
- 37
- ],
- "PDB3A_H_G": [
- "PDB3A_H_G",
- "dfLHW",
- "module",
- 6
- ],
- "PVSS1DGZ_H_G": [
- "PVSS1DGZ_H_G",
- "Zp1LH",
- "module",
- 96
- ],
- "PRUW16SDGZ_V_G": [
- "PRUW16SDGZ_V_G",
- "psjSY",
- "module",
- 71
- ],
- "PRDW16SDGZ_V_G": [
- "PRDW16SDGZ_V_G",
- "YRh5I",
- "module",
- 59
- ],
- "PDDW04SDGZ_V_G": [
- "PDDW04SDGZ_V_G",
- "J6fGD",
- "module",
- 13
- ],
- "PCLAMPC_H_G": [
- "PCLAMPC_H_G",
- "UyGax",
- "module",
- 4
- ],
- "PDDW04DGZ_V_G": [
- "PDDW04DGZ_V_G",
- "sZaSM",
- "module",
- 11
- ],
- "PCLAMPC_V_G": [
- "PCLAMPC_V_G",
- "EyyeT",
- "module",
- 5
- ],
- "PVDD1ANA_V_G": [
- "PVDD1ANA_V_G",
- "BL1m7",
- "module",
- 77
- ],
- "PDB3A_V_G": [
- "PDB3A_V_G",
- "xqWfY",
- "module",
- 7
- ],
- "PDDW12DGZ_H_G": [
- "PDDW12DGZ_H_G",
- "atFKr",
- "module",
- 18
- ],
- "PDB3AC_H_G": [
- "PDB3AC_H_G",
- "LsJ1x",
- "module",
- 8
- ],
- "PDDW04DGZ_H_G": [
- "PDDW04DGZ_H_G",
- "Z62Gy",
- "module",
- 10
- ],
- "PVSS1A_H_G": [
- "PVSS1A_H_G",
- "aYKwj",
- "module",
- 90
- ],
- "PRDW16SDGZ_H_G": [
- "PRDW16SDGZ_H_G",
- "V63WF",
- "module",
- 58
- ],
- "PDUW08DGZ_V_G": [
- "PDUW08DGZ_V_G",
- "aEWK6",
- "module",
- 31
- ],
- "PDUW12DGZ_V_G": [
- "PDUW12DGZ_V_G",
- "NkwYe",
- "module",
- 35
- ],
- "PDDW08SDGZ_H_G": [
- "PDDW08SDGZ_H_G",
- "QjV6F",
- "module",
- 16
- ],
- "PDUW16SDGZ_V_G": [
- "PDUW16SDGZ_V_G",
- "qePm9",
- "module",
- 41
- ],
- "PDDW12DGZ_V_G": [
- "PDDW12DGZ_V_G",
- "eR5Zz",
- "module",
- 19
- ],
- "rst_gen_unit": [
- "rst_gen_unit",
- "anuMN",
- "module",
- 124
- ],
- "PDUW16DGZ_H_G": [
- "PDUW16DGZ_H_G",
- "M7qR3",
- "module",
- 38
- ],
- "PDDW08SDGZ_V_G": [
- "PDDW08SDGZ_V_G",
- "N1ndr",
- "module",
- 17
- ],
- "ramp_gen_0000": [
- "ramp_gen_0000",
- "AyqFm",
- "module",
- 129
- ],
- "PDDW12SDGZ_H_G": [
- "PDDW12SDGZ_H_G",
- "KpuhN",
- "module",
- 20
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 120
- ],
- "PDDW12SDGZ_V_G": [
- "PDDW12SDGZ_V_G",
- "Pzaun",
- "module",
- 21
- ],
- "PDDW16DGZ_H_G": [
- "PDDW16DGZ_H_G",
- "GzkJA",
- "module",
- 22
- ],
- "systemregfile": [
- "systemregfile",
- "qcK8J",
- "module",
- 115
- ],
- "PRDW16DGZ_V_G": [
- "PRDW16DGZ_V_G",
- "Jztd6",
- "module",
- 57
- ],
- "PRUW08SDGZ_V_G": [
- "PRUW08SDGZ_V_G",
- "VJ8Wg",
- "module",
- 63
- ],
- "PRUW16SDGZ_H_G": [
- "PRUW16SDGZ_H_G",
- "riJVY",
- "module",
- 70
- ],
- "PVDD2ANA_H_G": [
- "PVDD2ANA_H_G",
- "mZVHG",
- "module",
- 80
- ],
- "PDDW16DGZ_V_G": [
- "PDDW16DGZ_V_G",
- "StNiL",
- "module",
- 23
- ],
- "PDDW16SDGZ_H_G": [
- "PDDW16SDGZ_H_G",
- "HiTWu",
- "module",
- 24
- ],
- "PDDW16SDGZ_V_G": [
- "PDDW16SDGZ_V_G",
- "ebe78",
- "module",
- 25
- ],
- "ulink_frame_receiver_0000": [
- "ulink_frame_receiver_0000",
- "P3BwM",
- "module",
- 123
- ],
- "PRDW08SDGZ_H_G": [
- "PRDW08SDGZ_H_G",
- "S90qD",
- "module",
- 50
- ],
- "PDUW04SDGZ_V_G": [
- "PDUW04SDGZ_V_G",
- "mJZpP",
- "module",
- 29
- ],
- "PVDD2DGZ_H_G": [
- "PVDD2DGZ_H_G",
- "nULrd",
- "module",
- 82
- ],
- "PDUW04DGZ_V_G": [
- "PDUW04DGZ_V_G",
- "QGhk6",
- "module",
- 27
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 117
- ],
- "reset_tb": [
- "reset_tb",
- "Q3Wk7",
- "module",
- 148
- ],
- "PDUW04SDGZ_H_G": [
- "PDUW04SDGZ_H_G",
- "wGYhm",
- "module",
- 28
- ],
- "PDUW08DGZ_H_G": [
- "PDUW08DGZ_H_G",
- "KkPJH",
- "module",
- 30
- ],
- "PRUW12SDGZ_V_G": [
- "PRUW12SDGZ_V_G",
- "yt645",
- "module",
- 67
- ],
- "PRDW12SDGZ_V_G": [
- "PRDW12SDGZ_V_G",
- "zIUFF",
- "module",
- 55
- ],
- "PDUW08SDGZ_H_G": [
- "PDUW08SDGZ_H_G",
- "gxqJp",
- "module",
- 32
- ],
- "pulse_generator": [
- "pulse_generator",
- "aJYLF",
- "module",
- 126
- ],
- "PRCUT_G": [
- "PRCUT_G",
- "uQmb5",
- "module",
- 46
- ],
- "PDUW12DGZ_H_G": [
- "PDUW12DGZ_H_G",
- "HYpLe",
- "module",
- 34
- ],
- "PDUW08SDGZ_V_G": [
- "PDUW08SDGZ_V_G",
- "UxPrL",
- "module",
- 33
- ],
- "PDUW12SDGZ_H_G": [
- "PDUW12SDGZ_H_G",
- "uKPxf",
- "module",
- 36
- ],
- "spi_sys_0000": [
- "spi_sys_0000",
- "QT8j3",
- "module",
- 144
- ],
- "PVDD1DGZ_V_G": [
- "PVDD1DGZ_V_G",
- "sPggV",
- "module",
- 79
- ],
- "iopad": [
- "iopad",
- "ga3jL",
- "module",
- 114
- ],
- "PRDW08DGZ_H_G": [
- "PRDW08DGZ_H_G",
- "swWa5",
- "module",
- 48
- ],
- "PDUW16DGZ_V_G": [
- "PDUW16DGZ_V_G",
- "FDqaf",
- "module",
- 39
- ],
- "PVSS1AC_H_G": [
- "PVSS1AC_H_G",
- "EZJLH",
- "module",
- 92
- ],
- "PRUW12DGZ_H_G": [
- "PRUW12DGZ_H_G",
- "hpMjC",
- "module",
- 64
- ],
- "PDXOEDG_H_G": [
- "PDXOEDG_H_G",
- "IYQDs",
- "module",
- 42
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 122
- ],
- "PVDD2POC_H_G": [
- "PVDD2POC_H_G",
- "avdwk",
- "module",
- 84
- ],
- "PENDCAP_G": [
- "PENDCAP_G",
- "bhWYh",
- "module",
- 44
- ],
- "PRDW08SDGZ_V_G": [
- "PRDW08SDGZ_V_G",
- "JznNw",
- "module",
- 51
- ],
- "PVSS3A_H_G": [
- "PVSS3A_H_G",
- "jsR1C",
- "module",
- 106
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 125
- ],
- "PRDW16DGZ_H_G": [
- "PRDW16DGZ_H_G",
- "EEqKt",
- "module",
- 56
- ],
- "PRDW12DGZ_H_G": [
- "PRDW12DGZ_H_G",
- "VaZm2",
- "module",
- 52
- ],
- "PRDW12DGZ_V_G": [
- "PRDW12DGZ_V_G",
- "ZKk4u",
- "module",
- 53
- ],
- "da4008_chip_top": [
- "da4008_chip_top",
- "ircEj",
- "module",
- 141
- ],
- "PRDW12SDGZ_H_G": [
- "PRDW12SDGZ_H_G",
- "fTzb4",
- "module",
- 54
- ],
- "PRUW08DGZ_H_G": [
- "PRUW08DGZ_H_G",
- "fLemy",
- "module",
- 60
- ],
- "PVSS2ANA_H_G": [
- "PVSS2ANA_H_G",
- "g8kcb",
- "module",
- 102
- ],
- "PRUW08DGZ_V_G": [
- "PRUW08DGZ_V_G",
- "EtT2L",
- "module",
- 61
- ],
- "PRUW08SDGZ_H_G": [
- "PRUW08SDGZ_H_G",
- "gwpgC",
- "module",
- 62
- ],
- "PRUW12DGZ_V_G": [
- "PRUW12DGZ_V_G",
- "pucZW",
- "module",
- 65
- ],
- "PVDD3A_V_G": [
- "PVDD3A_V_G",
- "t6fPF",
- "module",
- 87
- ],
- "PRUW12SDGZ_H_G": [
- "PRUW12SDGZ_H_G",
- "EkH6u",
- "module",
- 66
- ],
- "PRUW16DGZ_H_G": [
- "PRUW16DGZ_H_G",
- "AVYgt",
- "module",
- 68
- ],
- "PRUW16DGZ_V_G": [
- "PRUW16DGZ_V_G",
- "ErxQ3",
- "module",
- 69
- ],
- "PVDD1A_H_G": [
- "PVDD1A_H_G",
- "zNPu5",
- "module",
- 72
- ],
- "PVDD1A_V_G": [
- "PVDD1A_V_G",
- "CNBi6",
- "module",
- 73
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 128
- ],
- "PVDD1AC_H_G": [
- "PVDD1AC_H_G",
- "W9VnM",
- "module",
- 74
- ],
- "PVDD1AC_V_G": [
- "PVDD1AC_V_G",
- "qn6Yx",
- "module",
- 75
- ],
- "PVDD1ANA_H_G": [
- "PVDD1ANA_H_G",
- "fEWTj",
- "module",
- 76
- ],
- "awg_top": [
- "awg_top",
- "J5zQK",
- "module",
- 137
- ],
- "PVDD1DGZ_H_G": [
- "PVDD1DGZ_H_G",
- "Eie6s",
- "module",
- 78
- ],
- "PVSS2AC_V_G": [
- "PVSS2AC_V_G",
- "YBQ1m",
- "module",
- 101
- ],
- "PVSS3AC_V_G": [
- "PVSS3AC_V_G",
- "i0k2A",
- "module",
- 109
- ],
- "PVDD3AC_V_G": [
- "PVDD3AC_V_G",
- "rZC3e",
- "module",
- 89
- ],
- "PVDD2DGZ_V_G": [
- "PVDD2DGZ_V_G",
- "LSxxn",
- "module",
- 83
- ],
- "PVDD2POC_V_G": [
- "PVDD2POC_V_G",
- "urn8Q",
- "module",
- 85
- ],
- "PVDD3AC_H_G": [
- "PVDD3AC_H_G",
- "U0PST",
- "module",
- 88
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": [
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bghMB",
- "module",
- 113
- ],
- "PVSS1A_V_G": [
- "PVSS1A_V_G",
- "ZmPik",
- "module",
- 91
- ],
- "PVSS1AC_V_G": [
- "PVSS1AC_V_G",
- "I7RzE",
- "module",
- 93
- ],
- "PVSS1ANA_H_G": [
- "PVSS1ANA_H_G",
- "HtwuV",
- "module",
- 94
- ],
- "PVSS1DGZ_V_G": [
- "PVSS1DGZ_V_G",
- "jHcbf",
- "module",
- 97
- ],
- "PVSS2A_H_G": [
- "PVSS2A_H_G",
- "usz4x",
- "module",
- 98
- ],
- "PVSS2A_V_G": [
- "PVSS2A_V_G",
- "fMI2k",
- "module",
- 99
- ],
- "PVSS2AC_H_G": [
- "PVSS2AC_H_G",
- "TqmdJ",
- "module",
- 100
- ],
- "PVSS2ANA_V_G": [
- "PVSS2ANA_V_G",
- "Md441",
- "module",
- 103
- ],
- "PVSS2DGZ_H_G": [
- "PVSS2DGZ_H_G",
- "ke5cH",
- "module",
- 104
- ],
- "PVSS2DGZ_V_G": [
- "PVSS2DGZ_V_G",
- "S5Dr6",
- "module",
- 105
- ],
- "PVSS3A_V_G": [
- "PVSS3A_V_G",
- "VSdee",
- "module",
- 107
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a": [
- "tsdn28hpcpuhdb4096x128m4mw_170a",
- "UJ4u7",
- "module",
- 112
- ],
- "PVSS3AC_H_G": [
- "PVSS3AC_H_G",
- "B0f3F",
- "module",
- 108
- ],
- "PVSS3DGZ_H_G": [
- "PVSS3DGZ_H_G",
- "rq1J0",
- "module",
- 110
- ],
- "PVSS3DGZ_V_G": [
- "PVSS3DGZ_V_G",
- "IZu3i",
- "module",
- 111
- ],
- "DEM_PhaseSync_4008": [
- "DEM_PhaseSync_4008",
- "sIRhK",
- "module",
- 138
- ],
- "dacif_0000": [
- "dacif_0000",
- "yeRHW",
- "module",
- 116
- ],
- "dac_regfile": [
- "dac_regfile",
- "LR0zI",
- "module",
- 118
- ],
- "ulink_rx": [
- "ulink_rx",
- "dteMU",
- "module",
- 119
- ],
- "ulink_descrambler_128": [
- "ulink_descrambler_128",
- "qxEhc",
- "module",
- 121
- ],
- "sram_if": [
- "sram_if",
- "NABmh",
- "module",
- 130
- ],
- "sram_if_0000": [
- "sram_if_0000",
- "nJgqZ",
- "module",
- 131
- ],
- "sram_if_0001": [
- "sram_if_0001",
- "z4wk8",
- "module",
- 132
- ],
- "sram_if_0002": [
- "sram_if_0002",
- "bEAZ8",
- "module",
- 133
- ],
- "sram_dmux_w_0000": [
- "sram_dmux_w_0000",
- "dc6nH",
- "module",
- 134
- ],
- "clk_regfile": [
- "clk_regfile",
- "jAdLC",
- "module",
- 136
- ],
- "DA4008_DEM_Parallel_PRBS_1CH": [
- "DA4008_DEM_Parallel_PRBS_1CH",
- "cQW1k",
- "module",
- 139
- ],
- "DA4008_DEM_Parallel_PRBS_64CH": [
- "DA4008_DEM_Parallel_PRBS_64CH",
- "q09PC",
- "module",
- 140
- ],
- "spi_slave": [
- "spi_slave",
- "eAsJz",
- "module",
- 143
- ],
- "spi_if": [
- "spi_if",
- "IHYdB",
- "module",
- 145
- ],
- "clk_gen": [
- "clk_gen",
- "MEIvW",
- "module",
- 146
- ],
- "DEM_Reverse_64CH_0000": [
- "DEM_Reverse_64CH_0000",
- "YnCHV",
- "module",
- 147
- ],
- "DW_sync_0000": [
- "DW_sync_0000",
- "zVfcK",
- "module",
- 149
- ],
- "DW_pulse_sync_0000": [
- "DW_pulse_sync_0000",
- "Ss3zK",
- "module",
- 150
- ],
- "lvds_if": [
- "lvds_if",
- "nS0i0",
- "module",
- 151
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 152
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 153
- ]
- },
- "MlibObjs": {},
- "perf": [
- {
- "stat": [
- "main",
- "entry",
- 0.024121999740600586,
- 0.048149999999999998,
- 0.026081,
- 219352,
- 219352,
- 0.0,
- 0.0,
- 1773384883.0636001,
- 69836683651160884
- ],
- "sub": [
- {
- "stat": [
- "doParsingAndDesignResolution",
- "entry",
- 0.61952400207519531,
- 0.051928000000000002,
- 0.046050000000000001,
- 279508,
- 280308,
- 0.0,
- 0.0,
- 1773384883.6590021,
- 69836685199226338
- ],
- "sub": []
- },
- {
- "stat": [
- "doParsingAndDesignResolution",
- "exit",
- 0.79578900337219238,
- 0.21757499999999999,
- 0.056628999999999999,
- 289728,
- 290376,
- 0.0,
- 0.0,
- 1773384883.8352671,
- 69836685657512606
- ],
- "sub": []
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "entry",
- 0.80727696418762207,
- 0.21975,
- 0.057672000000000001,
- 289728,
- 290376,
- 0.0031110000000000001,
- 0.0051859999999999996,
- 1773384883.846755,
- 69836685687355558
- ],
- "sub": [
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "entry",
- 0.94673585891723633,
- 0.35519499999999998,
- 0.061685999999999998,
- 294372,
- 294376,
- 0.0031110000000000001,
- 0.0051859999999999996,
- 1773384883.9862139,
- 69836686049950860
- ],
- "sub": []
- },
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "exit",
- 2.2809469699859619,
- 1.5767949999999999,
- 0.115691,
- 323304,
- 323316,
- 0.013518000000000001,
- 0.053027999999999999,
- 1773384885.320425,
- 69836689518961740
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "entry",
- 2.2810540199279785,
- 1.5768960000000001,
- 0.115698,
- 323304,
- 323316,
- 0.013518000000000001,
- 0.053027999999999999,
- 1773384885.3205321,
- 69836689519144708
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "exit",
- 2.390002965927124,
- 1.6828370000000001,
- 0.11870600000000001,
- 323304,
- 323316,
- 0.013518000000000001,
- 0.053027999999999999,
- 1773384885.429481,
- 69836689802505684
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "exit",
- 2.3900668621063232,
- 1.682898,
- 0.11871,
- 323304,
- 323316,
- 0.013518000000000001,
- 0.053027999999999999,
- 1773384885.4295449,
- 69836689802567396
- ],
- "sub": []
- },
- {
- "stat": [
- "doGAToPass2",
- "entry",
- 2.3900899887084961,
- 1.6829190000000001,
- 0.118712,
- 323304,
- 323316,
- 0.013518000000000001,
- 0.053027999999999999,
- 1773384885.4295681,
- 69836689802620308
- ],
- "sub": [
- {
- "stat": [
- "DoPass2",
- "entry",
- 2.4462499618530273,
- 1.6923280000000001,
- 0.12472900000000001,
- 320964,
- 323316,
- 0.025406999999999999,
- 0.082572999999999994,
- 1773384885.485728,
- 69836689948715366
- ],
- "sub": []
- },
- {
- "stat": [
- "DoPass2",
- "exit",
- 3.007904052734375,
- 1.9932889999999999,
- 0.170853,
- 322940,
- 323316,
- 2.5052089999999998,
- 0.43532799999999999,
- 1773384886.0473821,
- 69836691408994668
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doGAToPass2",
- "exit",
- 3.0120968818664551,
- 1.9954670000000001,
- 0.17286699999999999,
- 322940,
- 323316,
- 2.5052089999999998,
- 0.43532799999999999,
- 1773384886.0515749,
- 69836691419884288
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "main",
- "exit",
- 3.0127658843994141,
- 1.99613,
- 0.172874,
- 322932,
- 323316,
- 2.5052089999999998,
- 0.43532799999999999,
- 1773384886.0522439,
- 69836691421598686
- ],
- "sub": []
- }
- ],
- "PrevCompiledModules": {},
- "rlimit": {
- "data": -1,
- "stack": -1
- },
- "cpu_cycles_pass2_start": 69836689948732458,
- "CompileStrategy": "fullobj",
- "stat": {
- "totalObjSize": 872186,
- "nQuads": 9977,
- "ru_self_cgstart": {
- "ru_nivcsw": 11,
- "ru_utime_sec": 1.692448,
- "ru_majflt": 0,
- "ru_minflt": 49024,
- "ru_stime_sec": 0.124738,
- "ru_maxrss_kb": 110280,
- "ru_nvcsw": 59
- },
- "cpu_cycles_end": 69836691421745470,
- "ru_childs_end": {
- "ru_nivcsw": 26,
- "ru_utime_sec": 2.5052089999999998,
- "ru_majflt": 0,
- "ru_minflt": 72397,
- "ru_stime_sec": 0.43532799999999999,
- "ru_maxrss_kb": 65748,
- "ru_nvcsw": 471
- },
- "ru_childs_cgstart": {
- "ru_nivcsw": 26,
- "ru_utime_sec": 0.025406999999999999,
- "ru_majflt": 0,
- "ru_minflt": 11869,
- "ru_stime_sec": 0.082572999999999994,
- "ru_maxrss_kb": 49756,
- "ru_nvcsw": 27
- },
- "cpu_cycles_cgstart": 69836689948977816,
- "ru_self_end": {
- "ru_nivcsw": 13,
- "ru_utime_sec": 1.9961980000000001,
- "ru_majflt": 0,
- "ru_minflt": 56461,
- "ru_stime_sec": 0.172874,
- "ru_maxrss_kb": 116760,
- "ru_nvcsw": 88
- },
- "nMops": 32190,
- "mop/quad": 3.2264207677658616,
- "Frontend(%)": 38.162623375313537,
- "cpu_cycles_total": 7770828416,
- "peak_mem_kb": 323316,
- "mopSpeed": 11564.360931644171,
- "quadSpeed": 3584.2693077046879,
- "outputSizePerQuad": 87.419665230029068,
- "CodeGen(%)": 61.837376624686456,
- "realTime": 3.0128610134124756
- },
- "SIMBData": {
- "out": "amcQwB.o",
- "text": 0,
- "bytes": 142962,
- "archive": "archive.0/_32553_archive_1.a"
- },
- "incremental": "on",
- "CurCompileModules": [
- "...MASTER...",
- "...MASTER...",
- "da4008_chip_top",
- "da4008_chip_top",
- "_vcs_unit__348857874",
- "_vcs_unit__348857874",
- "DW_sync_0000",
- "DW_sync_0000",
- "sirv_gnrl_xchecker",
- "sirv_gnrl_xchecker",
- "PDDW08SDGZ_V_G",
- "PDDW08SDGZ_V_G",
- "PDDW16SDGZ_V_G",
- "PDDW16SDGZ_V_G",
- "PDUW08SDGZ_V_G",
- "PDUW08SDGZ_V_G",
- "PDUW16SDGZ_V_G",
- "PDUW16SDGZ_V_G",
- "PRDW12SDGZ_V_G",
- "PRDW12SDGZ_V_G",
- "PRUW08SDGZ_V_G",
- "PRUW08SDGZ_V_G",
- "PRUW16SDGZ_V_G",
- "PRUW16SDGZ_V_G",
- "PDXOEDG_V_G",
- "PDXOEDG_V_G",
- "PDB3AC_V_G",
- "PDB3AC_V_G",
- "PVDD1AC_V_G",
- "PVDD1AC_V_G",
- "PVDD2DGZ_V_G",
- "PVDD2DGZ_V_G",
- "PVSS1A_V_G",
- "PVSS1A_V_G",
- "PVSS2A_V_G",
- "PVSS2A_V_G",
- "PVSS3A_V_G",
- "PVSS3A_V_G",
- "sram_if_0002",
- "sram_if_0002"
- ],
- "CompileProcesses": [
- "cgproc.32553.json",
- "cgproc.32573.json",
- "cgproc.32574.json",
- "cgproc.32575.json",
- "cgproc.32576.json",
- "cgproc.32577.json",
- "cgproc.32578.json",
- "cgproc.32579.json"
- ],
- "LVLData": [
- "SIM"
- ],
- "CompileStatus": "Successful",
- "PEModules": [],
- "Misc": {
- "default_output_dir": "csrc",
- "vcs_version": "O-2018.09-SP2_Full64",
- "master_pid": 32553,
- "vcs_build_date": "Build Date = Feb 28 2019 22:34:30",
- "csrc": "csrc",
- "VCS_HOME": "/opt/synopsys/vcs-mx/O-2018.09-SP2",
- "hostname": "cryo1",
- "cwd": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top",
- "csrc_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/csrc",
- "archive_dir": "archive.0",
- "daidir": "simv.daidir",
- "daidir_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir"
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.c b/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.c
deleted file mode 100644
index e4d8eaa..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.c
+++ /dev/null
@@ -1,964 +0,0 @@
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-#include
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern void* VCS_dlsymLookup(const char *);
-extern void vcsMsgReportNoSource1(const char *, const char*);
-
-/* PLI routine: $fsdbDumpvars:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvars
-#define __VCS_PLI_STUB_novas_call_fsdbDumpvars
-extern void novas_call_fsdbDumpvars(int data, int reason);
-#pragma weak novas_call_fsdbDumpvars
-void novas_call_fsdbDumpvars(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvars");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvars");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvars");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvars)(int data, int reason) = novas_call_fsdbDumpvars;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvars */
-
-/* PLI routine: $fsdbDumpvars:misc */
-#ifndef __VCS_PLI_STUB_novas_misc
-#define __VCS_PLI_STUB_novas_misc
-extern void novas_misc(int data, int reason, int iparam );
-#pragma weak novas_misc
-void novas_misc(int data, int reason, int iparam )
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason, int iparam ) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) dlsym(RTLD_NEXT, "novas_misc");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) VCS_dlsymLookup("novas_misc");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason, iparam );
- }
-}
-void (*__vcs_pli_dummy_reference_novas_misc)(int data, int reason, int iparam ) = novas_misc;
-#endif /* __VCS_PLI_STUB_novas_misc */
-
-/* PLI routine: $fsdbDumpvarsByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile
-extern void novas_call_fsdbDumpvarsByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpvarsByFile
-void novas_call_fsdbDumpvarsByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvarsByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvarsByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvarsByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvarsByFile)(int data, int reason) = novas_call_fsdbDumpvarsByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile */
-
-/* PLI routine: $fsdbAddRuntimeSignal:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal
-#define __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal
-extern void novas_call_fsdbAddRuntimeSignal(int data, int reason);
-#pragma weak novas_call_fsdbAddRuntimeSignal
-void novas_call_fsdbAddRuntimeSignal(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbAddRuntimeSignal");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbAddRuntimeSignal");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbAddRuntimeSignal");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbAddRuntimeSignal)(int data, int reason) = novas_call_fsdbAddRuntimeSignal;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal */
-
-/* PLI routine: $sps_create_transaction_stream:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_create_transaction_stream
-#define __VCS_PLI_STUB_novas_call_sps_create_transaction_stream
-extern void novas_call_sps_create_transaction_stream(int data, int reason);
-#pragma weak novas_call_sps_create_transaction_stream
-void novas_call_sps_create_transaction_stream(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_create_transaction_stream");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_create_transaction_stream");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_create_transaction_stream");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_create_transaction_stream)(int data, int reason) = novas_call_sps_create_transaction_stream;
-#endif /* __VCS_PLI_STUB_novas_call_sps_create_transaction_stream */
-
-/* PLI routine: $sps_begin_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_begin_transaction
-#define __VCS_PLI_STUB_novas_call_sps_begin_transaction
-extern void novas_call_sps_begin_transaction(int data, int reason);
-#pragma weak novas_call_sps_begin_transaction
-void novas_call_sps_begin_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_begin_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_begin_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_begin_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_begin_transaction)(int data, int reason) = novas_call_sps_begin_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_begin_transaction */
-
-/* PLI routine: $sps_end_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_end_transaction
-#define __VCS_PLI_STUB_novas_call_sps_end_transaction
-extern void novas_call_sps_end_transaction(int data, int reason);
-#pragma weak novas_call_sps_end_transaction
-void novas_call_sps_end_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_end_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_end_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_end_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_end_transaction)(int data, int reason) = novas_call_sps_end_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_end_transaction */
-
-/* PLI routine: $sps_free_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_free_transaction
-#define __VCS_PLI_STUB_novas_call_sps_free_transaction
-extern void novas_call_sps_free_transaction(int data, int reason);
-#pragma weak novas_call_sps_free_transaction
-void novas_call_sps_free_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_free_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_free_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_free_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_free_transaction)(int data, int reason) = novas_call_sps_free_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_free_transaction */
-
-/* PLI routine: $sps_add_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_add_attribute
-#define __VCS_PLI_STUB_novas_call_sps_add_attribute
-extern void novas_call_sps_add_attribute(int data, int reason);
-#pragma weak novas_call_sps_add_attribute
-void novas_call_sps_add_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_add_attribute)(int data, int reason) = novas_call_sps_add_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_sps_add_attribute */
-
-/* PLI routine: $sps_update_label:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_update_label
-#define __VCS_PLI_STUB_novas_call_sps_update_label
-extern void novas_call_sps_update_label(int data, int reason);
-#pragma weak novas_call_sps_update_label
-void novas_call_sps_update_label(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_update_label");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_update_label");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_update_label");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_update_label)(int data, int reason) = novas_call_sps_update_label;
-#endif /* __VCS_PLI_STUB_novas_call_sps_update_label */
-
-/* PLI routine: $sps_add_relation:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_add_relation
-#define __VCS_PLI_STUB_novas_call_sps_add_relation
-extern void novas_call_sps_add_relation(int data, int reason);
-#pragma weak novas_call_sps_add_relation
-void novas_call_sps_add_relation(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_relation");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_relation");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_relation");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_add_relation)(int data, int reason) = novas_call_sps_add_relation;
-#endif /* __VCS_PLI_STUB_novas_call_sps_add_relation */
-
-/* PLI routine: $fsdbWhatif:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbWhatif
-#define __VCS_PLI_STUB_novas_call_fsdbWhatif
-extern void novas_call_fsdbWhatif(int data, int reason);
-#pragma weak novas_call_fsdbWhatif
-void novas_call_fsdbWhatif(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbWhatif");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbWhatif");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbWhatif");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbWhatif)(int data, int reason) = novas_call_fsdbWhatif;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbWhatif */
-
-/* PLI routine: $paa_init:call */
-#ifndef __VCS_PLI_STUB_novas_call_paa_init
-#define __VCS_PLI_STUB_novas_call_paa_init
-extern void novas_call_paa_init(int data, int reason);
-#pragma weak novas_call_paa_init
-void novas_call_paa_init(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_init");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_init");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_init");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_paa_init)(int data, int reason) = novas_call_paa_init;
-#endif /* __VCS_PLI_STUB_novas_call_paa_init */
-
-/* PLI routine: $paa_sync:call */
-#ifndef __VCS_PLI_STUB_novas_call_paa_sync
-#define __VCS_PLI_STUB_novas_call_paa_sync
-extern void novas_call_paa_sync(int data, int reason);
-#pragma weak novas_call_paa_sync
-void novas_call_paa_sync(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_sync");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_sync");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_sync");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_paa_sync)(int data, int reason) = novas_call_paa_sync;
-#endif /* __VCS_PLI_STUB_novas_call_paa_sync */
-
-/* PLI routine: $fsdbDumpClassMethod:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod
-extern void novas_call_fsdbDumpClassMethod(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassMethod
-void novas_call_fsdbDumpClassMethod(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassMethod");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassMethod");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassMethod");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassMethod)(int data, int reason) = novas_call_fsdbDumpClassMethod;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod */
-
-/* PLI routine: $fsdbSuppressClassMethod:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod
-#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod
-extern void novas_call_fsdbSuppressClassMethod(int data, int reason);
-#pragma weak novas_call_fsdbSuppressClassMethod
-void novas_call_fsdbSuppressClassMethod(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassMethod");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassMethod");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassMethod");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassMethod)(int data, int reason) = novas_call_fsdbSuppressClassMethod;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod */
-
-/* PLI routine: $fsdbSuppressClassProp:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp
-#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp
-extern void novas_call_fsdbSuppressClassProp(int data, int reason);
-#pragma weak novas_call_fsdbSuppressClassProp
-void novas_call_fsdbSuppressClassProp(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassProp");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassProp");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassProp");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassProp)(int data, int reason) = novas_call_fsdbSuppressClassProp;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp */
-
-/* PLI routine: $fsdbDumpMDAByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile
-extern void novas_call_fsdbDumpMDAByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpMDAByFile
-void novas_call_fsdbDumpMDAByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpMDAByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpMDAByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpMDAByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpMDAByFile)(int data, int reason) = novas_call_fsdbDumpMDAByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile */
-
-/* PLI routine: $fsdbTrans_create_stream_begin:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin
-extern void novas_call_fsdbEvent_create_stream_begin(int data, int reason);
-#pragma weak novas_call_fsdbEvent_create_stream_begin
-void novas_call_fsdbEvent_create_stream_begin(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_begin");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_begin");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_begin");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_begin)(int data, int reason) = novas_call_fsdbEvent_create_stream_begin;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin */
-
-/* PLI routine: $fsdbTrans_define_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute
-extern void novas_call_fsdbEvent_add_stream_attribute(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_stream_attribute
-void novas_call_fsdbEvent_add_stream_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_stream_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_stream_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_stream_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_stream_attribute)(int data, int reason) = novas_call_fsdbEvent_add_stream_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute */
-
-/* PLI routine: $fsdbTrans_create_stream_end:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end
-extern void novas_call_fsdbEvent_create_stream_end(int data, int reason);
-#pragma weak novas_call_fsdbEvent_create_stream_end
-void novas_call_fsdbEvent_create_stream_end(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_end");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_end");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_end");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_end)(int data, int reason) = novas_call_fsdbEvent_create_stream_end;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end */
-
-/* PLI routine: $fsdbTrans_begin:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_begin
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_begin
-extern void novas_call_fsdbEvent_begin(int data, int reason);
-#pragma weak novas_call_fsdbEvent_begin
-void novas_call_fsdbEvent_begin(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_begin");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_begin");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_begin");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_begin)(int data, int reason) = novas_call_fsdbEvent_begin;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_begin */
-
-/* PLI routine: $fsdbTrans_set_label:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_set_label
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_set_label
-extern void novas_call_fsdbEvent_set_label(int data, int reason);
-#pragma weak novas_call_fsdbEvent_set_label
-void novas_call_fsdbEvent_set_label(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_set_label");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_set_label");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_set_label");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_set_label)(int data, int reason) = novas_call_fsdbEvent_set_label;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_set_label */
-
-/* PLI routine: $fsdbTrans_add_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute
-extern void novas_call_fsdbEvent_add_attribute(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_attribute
-void novas_call_fsdbEvent_add_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_attribute)(int data, int reason) = novas_call_fsdbEvent_add_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute */
-
-/* PLI routine: $fsdbTrans_add_tag:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag
-extern void novas_call_fsdbEvent_add_tag(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_tag
-void novas_call_fsdbEvent_add_tag(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_tag");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_tag");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_tag");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_tag)(int data, int reason) = novas_call_fsdbEvent_add_tag;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag */
-
-/* PLI routine: $fsdbTrans_end:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_end
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_end
-extern void novas_call_fsdbEvent_end(int data, int reason);
-#pragma weak novas_call_fsdbEvent_end
-void novas_call_fsdbEvent_end(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_end");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_end");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_end");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_end)(int data, int reason) = novas_call_fsdbEvent_end;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_end */
-
-/* PLI routine: $fsdbTrans_add_relation:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation
-extern void novas_call_fsdbEvent_add_relation(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_relation
-void novas_call_fsdbEvent_add_relation(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_relation");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_relation");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_relation");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_relation)(int data, int reason) = novas_call_fsdbEvent_add_relation;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation */
-
-/* PLI routine: $fsdbTrans_get_error_code:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code
-extern void novas_call_fsdbEvent_get_error_code(int data, int reason);
-#pragma weak novas_call_fsdbEvent_get_error_code
-void novas_call_fsdbEvent_get_error_code(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_get_error_code");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_get_error_code");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_get_error_code");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_get_error_code)(int data, int reason) = novas_call_fsdbEvent_get_error_code;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code */
-
-/* PLI routine: $fsdbTrans_add_stream_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute
-extern void novas_call_fsdbTrans_add_stream_attribute(int data, int reason);
-#pragma weak novas_call_fsdbTrans_add_stream_attribute
-void novas_call_fsdbTrans_add_stream_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_stream_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_stream_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_stream_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_stream_attribute)(int data, int reason) = novas_call_fsdbTrans_add_stream_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute */
-
-/* PLI routine: $fsdbTrans_add_scope_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute
-extern void novas_call_fsdbTrans_add_scope_attribute(int data, int reason);
-#pragma weak novas_call_fsdbTrans_add_scope_attribute
-void novas_call_fsdbTrans_add_scope_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_scope_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_scope_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_scope_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_scope_attribute)(int data, int reason) = novas_call_fsdbTrans_add_scope_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute */
-
-/* PLI routine: $sps_interactive:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_interactive
-#define __VCS_PLI_STUB_novas_call_sps_interactive
-extern void novas_call_sps_interactive(int data, int reason);
-#pragma weak novas_call_sps_interactive
-void novas_call_sps_interactive(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_interactive");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_interactive");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_interactive");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_interactive)(int data, int reason) = novas_call_sps_interactive;
-#endif /* __VCS_PLI_STUB_novas_call_sps_interactive */
-
-/* PLI routine: $sps_test:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_test
-#define __VCS_PLI_STUB_novas_call_sps_test
-extern void novas_call_sps_test(int data, int reason);
-#pragma weak novas_call_sps_test
-void novas_call_sps_test(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_test");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_test");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_test");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_test)(int data, int reason) = novas_call_sps_test;
-#endif /* __VCS_PLI_STUB_novas_call_sps_test */
-
-/* PLI routine: $fsdbDumpClassObject:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObject
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObject
-extern void novas_call_fsdbDumpClassObject(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassObject
-void novas_call_fsdbDumpClassObject(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObject");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObject");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObject");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObject)(int data, int reason) = novas_call_fsdbDumpClassObject;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObject */
-
-/* PLI routine: $fsdbDumpClassObjectByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile
-extern void novas_call_fsdbDumpClassObjectByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassObjectByFile
-void novas_call_fsdbDumpClassObjectByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObjectByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObjectByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObjectByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObjectByFile)(int data, int reason) = novas_call_fsdbDumpClassObjectByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile */
-
-/* PLI routine: $ridbDump:call */
-#ifndef __VCS_PLI_STUB_novas_call_ridbDump
-#define __VCS_PLI_STUB_novas_call_ridbDump
-extern void novas_call_ridbDump(int data, int reason);
-#pragma weak novas_call_ridbDump
-void novas_call_ridbDump(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_ridbDump");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_ridbDump");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_ridbDump");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_ridbDump)(int data, int reason) = novas_call_ridbDump;
-#endif /* __VCS_PLI_STUB_novas_call_ridbDump */
-
-/* PLI routine: $sps_flush_file:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_flush_file
-#define __VCS_PLI_STUB_novas_call_sps_flush_file
-extern void novas_call_sps_flush_file(int data, int reason);
-#pragma weak novas_call_sps_flush_file
-void novas_call_sps_flush_file(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_flush_file");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_flush_file");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_flush_file");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_flush_file)(int data, int reason) = novas_call_sps_flush_file;
-#endif /* __VCS_PLI_STUB_novas_call_sps_flush_file */
-
-/* PLI routine: $fsdbDumpSingle:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpSingle
-#define __VCS_PLI_STUB_novas_call_fsdbDumpSingle
-extern void novas_call_fsdbDumpSingle(int data, int reason);
-#pragma weak novas_call_fsdbDumpSingle
-void novas_call_fsdbDumpSingle(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpSingle");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpSingle");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpSingle");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpSingle)(int data, int reason) = novas_call_fsdbDumpSingle;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpSingle */
-
-/* PLI routine: $fsdbDumpIO:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpIO
-#define __VCS_PLI_STUB_novas_call_fsdbDumpIO
-extern void novas_call_fsdbDumpIO(int data, int reason);
-#pragma weak novas_call_fsdbDumpIO
-void novas_call_fsdbDumpIO(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpIO");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpIO");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpIO");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpIO)(int data, int reason) = novas_call_fsdbDumpIO;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpIO */
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.o b/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.o
deleted file mode 100644
index 7927935..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/_vcs_pli_stub_.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a
deleted file mode 100644
index 6b80574..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a.info b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a.info
deleted file mode 100644
index a06343b..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64094_archive_1.a.info
+++ /dev/null
@@ -1,2 +0,0 @@
-FgDcH_d.o
-amcQwB.o
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a
deleted file mode 100644
index f91c7c8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a.info b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a.info
deleted file mode 100644
index 35230dc..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_64123_archive_1.a.info
+++ /dev/null
@@ -1 +0,0 @@
-sH4Fc_d.o
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a
deleted file mode 100644
index 59bbf52..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a.info b/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a.info
deleted file mode 100644
index b904d5c..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/archive.1/_prev_archive_1.a.info
+++ /dev/null
@@ -1,150 +0,0 @@
-Zp1LH_d.o
-ke5cH_d.o
-zNPu5_d.o
-ga3jL_d.o
-VaZm2_d.o
-mZVHG_d.o
-M7qR3_d.o
-bQxt6_d.o
-dfLHW_d.o
-sIRhK_d.o
-U0PST_d.o
-NABmh_d.o
-C0gYT_d.o
-GzkJA_d.o
-cQW1k_d.o
-fLemy_d.o
-dteMU_d.o
-AVYgt_d.o
-KkPJH_d.o
-I7RzE_d.o
-nS0i0_d.o
-QGhk6_d.o
-sZaSM_d.o
-Jztd6_d.o
-YBQ1m_d.o
-wpYca_d.o
-pucZW_d.o
-ZZxj5_d.o
-eR5Zz_d.o
-yeRHW_d.o
-BL1m7_d.o
-AyqFm_d.o
-urn8Q_d.o
-i0k2A_d.o
-BM4bj_d.o
-aJYLF_d.o
-NkwYe_d.o
-bghMB_d.o
-yuek5_d.o
-rZC3e_d.o
-FDqaf_d.o
-xqWfY_d.o
-EtT2L_d.o
-MEIvW_d.o
-K0TuH_d.o
-jHcbf_d.o
-S5Dr6_d.o
-StNiL_d.o
-J6VbG_d.o
-DA1Pu_d.o
-CNBi6_d.o
-nJgqZ_d.o
-ErxQ3_d.o
-aEWK6_d.o
-ZKk4u_d.o
-eAsJz_d.o
-CQ4ek_d.o
-KpuhN_d.o
-rq1J0_d.o
-wGYhm_d.o
-uQmb5_d.o
-qcK8J_d.o
-LR0zI_d.o
-q09PC_d.o
-HtwuV_d.o
-g8kcb_d.o
-Eie6s_d.o
-DTJPF_d.o
-uKPxf_d.o
-V63WF_d.o
-UTi0b_d.o
-EkH6u_d.o
-S90qD_d.o
-qLaCg_d.o
-UyGax_d.o
-ircEj_d.o
-zIUFF_d.o
-EZF3t_d.o
-CjC7H_d.o
-ZmPik_d.o
-qn6Yx_d.o
-dviib_d.o
-psjSY_d.o
-zVfcK_d.o
-ebe78_d.o
-fMI2k_d.o
-VJ8Wg_d.o
-bEAZ8_d.o
-VSdee_d.o
-qePm9_d.o
-UxPrL_d.o
-N1ndr_d.o
-LSxxn_d.o
-gxqJp_d.o
-QjV6F_d.o
-iWZrk_d.o
-jsR1C_d.o
-LsJ1x_d.o
-z4wk8_d.o
-nULrd_d.o
-P3BwM_d.o
-QT8j3_d.o
-aYKwj_d.o
-Ss3zK_d.o
-IYQDs_d.o
-W9VnM_d.o
-usz4x_d.o
-riJVY_d.o
-fTzb4_d.o
-gwpgC_d.o
-T59nH_d.o
-HiTWu_d.o
-qxEhc_d.o
-mJZpP_d.o
-sPggV_d.o
-gL5Pd_d.o
-t6fPF_d.o
-yt645_d.o
-Md441_d.o
-anuMN_d.o
-YRh5I_d.o
-IZu3i_d.o
-J5zQK_d.o
-uuDJt_d.o
-JznNw_d.o
-YnCHV_d.o
-EyyeT_d.o
-gzftm_d.o
-qCQFW_d.o
-Pzaun_d.o
-J6fGD_d.o
-Z62Gy_d.o
-IHYdB_d.o
-YTwQz_d.o
-TqmdJ_d.o
-HYpLe_d.o
-EZJLH_d.o
-jAdLC_d.o
-Q3Wk7_d.o
-EEqKt_d.o
-reYIK_d.o
-UJ4u7_d.o
-avdwk_d.o
-hpMjC_d.o
-atFKr_d.o
-B0f3F_d.o
-fEWTj_d.o
-bhWYh_d.o
-swWa5_d.o
-dc6nH_d.o
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgincr.sdb b/DA4008_V1.2/sim/chip_top/csrc/cgincr.sdb
deleted file mode 100644
index 5406693..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/cgincr.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cginfo.json b/DA4008_V1.2/sim/chip_top/csrc/cginfo.json
deleted file mode 100644
index 719c6cb..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cginfo.json
+++ /dev/null
@@ -1,2802 +0,0 @@
-{
- "PrevCompiledModules": {
- "PDUW08SDGZ_H_G": {
- "gxqJp_d": {
- "mode": 4,
- "mod": "PDUW08SDGZ_H_G",
- "bytes": 15756,
- "out": "gxqJp_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "ulink_descrambler_128": {
- "qxEhc_d": {
- "mode": 4,
- "mod": "ulink_descrambler_128",
- "bytes": 15890,
- "out": "qxEhc_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1AC_V_G": {
- "I7RzE_d": {
- "mode": 4,
- "mod": "PVSS1AC_V_G",
- "bytes": 7196,
- "out": "I7RzE_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "ulink_descrambler_32": {
- "yuek5_d": {
- "mode": 4,
- "mod": "ulink_descrambler_32",
- "bytes": 22310,
- "out": "yuek5_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW08SDGZ_H_G": {
- "QjV6F_d": {
- "mode": 4,
- "mod": "PDDW08SDGZ_H_G",
- "bytes": 15776,
- "out": "QjV6F_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW04SDGZ_V_G": {
- "mJZpP_d": {
- "mode": 4,
- "mod": "PDUW04SDGZ_V_G",
- "bytes": 16200,
- "out": "mJZpP_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW16SDGZ_H_G": {
- "iWZrk_d": {
- "mode": 4,
- "mod": "PDUW16SDGZ_H_G",
- "bytes": 15756,
- "out": "iWZrk_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3A_H_G": {
- "jsR1C_d": {
- "mode": 4,
- "mod": "PVSS3A_H_G",
- "bytes": 7194,
- "out": "jsR1C_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDB3AC_H_G": {
- "LsJ1x_d": {
- "mode": 4,
- "mod": "PDB3AC_H_G",
- "bytes": 7194,
- "out": "LsJ1x_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "lvds_if": {
- "nS0i0_d": {
- "mode": 4,
- "mod": "lvds_if",
- "bytes": 11824,
- "out": "nS0i0_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1DGZ_H_G": {
- "Zp1LH_d": {
- "mode": 4,
- "mod": "PVSS1DGZ_H_G",
- "bytes": 7196,
- "out": "Zp1LH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW04DGZ_H_G": {
- "Z62Gy_d": {
- "mode": 4,
- "mod": "PDDW04DGZ_H_G",
- "bytes": 15774,
- "out": "Z62Gy_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sram_if_0001": {
- "z4wk8_d": {
- "mode": 4,
- "mod": "sram_if_0001",
- "bytes": 9748,
- "out": "z4wk8_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2DGZ_H_G": {
- "ke5cH_d": {
- "mode": 4,
- "mod": "PVSS2DGZ_H_G",
- "bytes": 7196,
- "out": "ke5cH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD3AC_V_G": {
- "rZC3e_d": {
- "mode": 4,
- "mod": "PVDD3AC_V_G",
- "bytes": 7196,
- "out": "rZC3e_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW04DGZ_V_G": {
- "QGhk6_d": {
- "mode": 4,
- "mod": "PDUW04DGZ_V_G",
- "bytes": 15754,
- "out": "QGhk6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW04DGZ_V_G": {
- "sZaSM_d": {
- "mode": 4,
- "mod": "PDDW04DGZ_V_G",
- "bytes": 15774,
- "out": "sZaSM_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "spi_if": {
- "IHYdB_d": {
- "mode": 4,
- "mod": "spi_if",
- "bytes": 13044,
- "out": "IHYdB_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1A_H_G": {
- "zNPu5_d": {
- "mode": 4,
- "mod": "PVDD1A_H_G",
- "bytes": 7194,
- "out": "zNPu5_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW04SDGZ_H_G": {
- "CQ4ek_d": {
- "mode": 4,
- "mod": "PDDW04SDGZ_H_G",
- "bytes": 15776,
- "out": "CQ4ek_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "da4008_chip_top": {
- "ircEj_d": {
- "mode": 4,
- "mod": "da4008_chip_top",
- "bytes": 242150,
- "out": "ircEj_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW12SDGZ_H_G": {
- "KpuhN_d": {
- "mode": 4,
- "mod": "PDDW12SDGZ_H_G",
- "bytes": 15776,
- "out": "KpuhN_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1DGZ_V_G": {
- "sPggV_d": {
- "mode": 4,
- "mod": "PVDD1DGZ_V_G",
- "bytes": 7196,
- "out": "sPggV_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW16DGZ_V_G": {
- "FDqaf_d": {
- "mode": 4,
- "mod": "PDUW16DGZ_V_G",
- "bytes": 15754,
- "out": "FDqaf_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "iopad": {
- "ga3jL_d": {
- "mode": 4,
- "mod": "iopad",
- "bytes": 8400,
- "out": "ga3jL_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1ANA_V_G": {
- "gL5Pd_d": {
- "mode": 4,
- "mod": "PVSS1ANA_V_G",
- "bytes": 7196,
- "out": "gL5Pd_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD3A_V_G": {
- "t6fPF_d": {
- "mode": 4,
- "mod": "PVDD3A_V_G",
- "bytes": 7194,
- "out": "t6fPF_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDB3A_V_G": {
- "xqWfY_d": {
- "mode": 4,
- "mod": "PDB3A_V_G",
- "bytes": 7194,
- "out": "xqWfY_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW12SDGZ_V_G": {
- "zIUFF_d": {
- "mode": 4,
- "mod": "PRDW12SDGZ_V_G",
- "bytes": 15776,
- "out": "zIUFF_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW16DGZ_V_G": {
- "Jztd6_d": {
- "mode": 4,
- "mod": "PRDW16DGZ_V_G",
- "bytes": 15774,
- "out": "Jztd6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW12SDGZ_V_G": {
- "yt645_d": {
- "mode": 4,
- "mod": "PRUW12SDGZ_V_G",
- "bytes": 15756,
- "out": "yt645_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDXOEDG_V_G": {
- "EZF3t_d": {
- "mode": 4,
- "mod": "PDXOEDG_V_G",
- "bytes": 7992,
- "out": "EZF3t_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sirv_gnrl_xchecker": {
- "CjC7H_d": {
- "mode": 4,
- "mod": "sirv_gnrl_xchecker",
- "bytes": 15184,
- "out": "CjC7H_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3DGZ_H_G": {
- "rq1J0_d": {
- "mode": 4,
- "mod": "PVSS3DGZ_H_G",
- "bytes": 7196,
- "out": "rq1J0_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW04SDGZ_H_G": {
- "wGYhm_d": {
- "mode": 4,
- "mod": "PDUW04SDGZ_H_G",
- "bytes": 15756,
- "out": "wGYhm_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "_vcs_unit__348857874": {
- "FgDcH_d": {
- "mode": 4,
- "mod": "_vcs_unit__348857874",
- "bytes": 247482,
- "out": "FgDcH_d.o",
- "checksum": 0,
- "archive": "archive.1/_64094_archive_1.a"
- }
- },
- "PVSS1A_V_G": {
- "ZmPik_d": {
- "mode": 4,
- "mod": "PVSS1A_V_G",
- "bytes": 7238,
- "out": "ZmPik_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD2DGZ_H_G": {
- "nULrd_d": {
- "mode": 4,
- "mod": "PVDD2DGZ_H_G",
- "bytes": 7196,
- "out": "nULrd_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW04DGZ_H_G": {
- "YTwQz_d": {
- "mode": 4,
- "mod": "PDUW04DGZ_H_G",
- "bytes": 15754,
- "out": "YTwQz_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW12DGZ_H_G": {
- "VaZm2_d": {
- "mode": 4,
- "mod": "PRDW12DGZ_H_G",
- "bytes": 15774,
- "out": "VaZm2_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW08DGZ_V_G": {
- "EtT2L_d": {
- "mode": 4,
- "mod": "PRUW08DGZ_V_G",
- "bytes": 15754,
- "out": "EtT2L_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD2ANA_H_G": {
- "mZVHG_d": {
- "mode": 4,
- "mod": "PVDD2ANA_H_G",
- "bytes": 7196,
- "out": "mZVHG_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRCUT_G": {
- "uQmb5_d": {
- "mode": 4,
- "mod": "PRCUT_G",
- "bytes": 7160,
- "out": "uQmb5_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2ANA_V_G": {
- "Md441_d": {
- "mode": 4,
- "mod": "PVSS2ANA_V_G",
- "bytes": 7196,
- "out": "Md441_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1AC_V_G": {
- "qn6Yx_d": {
- "mode": 4,
- "mod": "PVDD1AC_V_G",
- "bytes": 7238,
- "out": "qn6Yx_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "systemregfile": {
- "qcK8J_d": {
- "mode": 4,
- "mod": "systemregfile",
- "bytes": 254202,
- "out": "qcK8J_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2AC_H_G": {
- "TqmdJ_d": {
- "mode": 4,
- "mod": "PVSS2AC_H_G",
- "bytes": 7196,
- "out": "TqmdJ_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "clk_gen": {
- "MEIvW_d": {
- "mode": 4,
- "mod": "clk_gen",
- "bytes": 37614,
- "out": "MEIvW_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW16DGZ_H_G": {
- "M7qR3_d": {
- "mode": 4,
- "mod": "PDUW16DGZ_H_G",
- "bytes": 15754,
- "out": "M7qR3_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDB3AC_V_G": {
- "dviib_d": {
- "mode": 4,
- "mod": "PDB3AC_V_G",
- "bytes": 7238,
- "out": "dviib_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "dac_regfile": {
- "LR0zI_d": {
- "mode": 4,
- "mod": "dac_regfile",
- "bytes": 370598,
- "out": "LR0zI_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW16SDGZ_V_G": {
- "psjSY_d": {
- "mode": 4,
- "mod": "PRUW16SDGZ_V_G",
- "bytes": 15756,
- "out": "psjSY_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW12DGZ_H_G": {
- "HYpLe_d": {
- "mode": 4,
- "mod": "PDUW12DGZ_H_G",
- "bytes": 15754,
- "out": "HYpLe_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DA4008_DEM_Parallel_PRBS_64CH": {
- "q09PC_d": {
- "mode": 4,
- "mod": "DA4008_DEM_Parallel_PRBS_64CH",
- "bytes": 14484,
- "out": "q09PC_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1AC_H_G": {
- "EZJLH_d": {
- "mode": 4,
- "mod": "PVSS1AC_H_G",
- "bytes": 7196,
- "out": "EZJLH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DW_sync_0000": {
- "zVfcK_d": {
- "mode": 4,
- "mod": "DW_sync_0000",
- "bytes": 27452,
- "out": "zVfcK_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2AC_V_G": {
- "YBQ1m_d": {
- "mode": 4,
- "mod": "PVSS2AC_V_G",
- "bytes": 7196,
- "out": "YBQ1m_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PENDCAPA_G": {
- "wpYca_d": {
- "mode": 4,
- "mod": "PENDCAPA_G",
- "bytes": 7194,
- "out": "wpYca_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW08DGZ_V_G": {
- "K0TuH_d": {
- "mode": 4,
- "mod": "PDDW08DGZ_V_G",
- "bytes": 15774,
- "out": "K0TuH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW16SDGZ_V_G": {
- "ebe78_d": {
- "mode": 4,
- "mod": "PDDW16SDGZ_V_G",
- "bytes": 15776,
- "out": "ebe78_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2A_V_G": {
- "fMI2k_d": {
- "mode": 4,
- "mod": "PVSS2A_V_G",
- "bytes": 7238,
- "out": "fMI2k_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW12DGZ_V_G": {
- "pucZW_d": {
- "mode": 4,
- "mod": "PRUW12DGZ_V_G",
- "bytes": 15754,
- "out": "pucZW_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "dpram": {
- "bQxt6_d": {
- "mode": 4,
- "mod": "dpram",
- "bytes": 83732,
- "out": "bQxt6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "ulink_frame_receiver_0000": {
- "P3BwM_d": {
- "mode": 4,
- "mod": "ulink_frame_receiver_0000",
- "bytes": 464092,
- "out": "P3BwM_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "spi_sys_0000": {
- "QT8j3_d": {
- "mode": 4,
- "mod": "spi_sys_0000",
- "bytes": 257814,
- "out": "QT8j3_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "rst_gen_unit": {
- "anuMN_d": {
- "mode": 4,
- "mod": "rst_gen_unit",
- "bytes": 26100,
- "out": "anuMN_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDB3A_H_G": {
- "dfLHW_d": {
- "mode": 4,
- "mod": "PDB3A_H_G",
- "bytes": 7194,
- "out": "dfLHW_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "clk_regfile": {
- "jAdLC_d": {
- "mode": 4,
- "mod": "clk_regfile",
- "bytes": 206036,
- "out": "jAdLC_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "reset_tb": {
- "Q3Wk7_d": {
- "mode": 4,
- "mod": "reset_tb",
- "bytes": 9314,
- "out": "Q3Wk7_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1ANA_H_G": {
- "HtwuV_d": {
- "mode": 4,
- "mod": "PVSS1ANA_H_G",
- "bytes": 7196,
- "out": "HtwuV_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DEM_PhaseSync_4008": {
- "sIRhK_d": {
- "mode": 4,
- "mod": "DEM_PhaseSync_4008",
- "bytes": 299032,
- "out": "sIRhK_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW16DGZ_H_G": {
- "EEqKt_d": {
- "mode": 4,
- "mod": "PRDW16DGZ_H_G",
- "bytes": 15774,
- "out": "EEqKt_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2ANA_H_G": {
- "g8kcb_d": {
- "mode": 4,
- "mod": "PVSS2ANA_H_G",
- "bytes": 7196,
- "out": "g8kcb_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW08DGZ_V_G": {
- "ZZxj5_d": {
- "mode": 4,
- "mod": "PRDW08DGZ_V_G",
- "bytes": 15774,
- "out": "ZZxj5_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1DGZ_V_G": {
- "jHcbf_d": {
- "mode": 4,
- "mod": "PVSS1DGZ_V_G",
- "bytes": 7196,
- "out": "jHcbf_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS1A_H_G": {
- "aYKwj_d": {
- "mode": 4,
- "mod": "PVSS1A_H_G",
- "bytes": 7194,
- "out": "aYKwj_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DW_pulse_sync_0000": {
- "Ss3zK_d": {
- "mode": 4,
- "mod": "DW_pulse_sync_0000",
- "bytes": 33384,
- "out": "Ss3zK_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1DGZ_H_G": {
- "Eie6s_d": {
- "mode": 4,
- "mod": "PVDD1DGZ_H_G",
- "bytes": 7196,
- "out": "Eie6s_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW16SDGZ_V_G": {
- "YRh5I_d": {
- "mode": 4,
- "mod": "PRDW16SDGZ_V_G",
- "bytes": 15776,
- "out": "YRh5I_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3DGZ_V_G": {
- "IZu3i_d": {
- "mode": 4,
- "mod": "PVSS3DGZ_V_G",
- "bytes": 7196,
- "out": "IZu3i_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD3AC_H_G": {
- "U0PST_d": {
- "mode": 4,
- "mod": "PVDD3AC_H_G",
- "bytes": 7196,
- "out": "U0PST_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDXOEDG_H_G": {
- "IYQDs_d": {
- "mode": 4,
- "mod": "PDXOEDG_H_G",
- "bytes": 7950,
- "out": "IYQDs_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "awg_top": {
- "J5zQK_d": {
- "mode": 4,
- "mod": "awg_top",
- "bytes": 224648,
- "out": "J5zQK_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sram_if": {
- "NABmh_d": {
- "mode": 4,
- "mod": "sram_if",
- "bytes": 9728,
- "out": "NABmh_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRCUTA_G": {
- "uuDJt_d": {
- "mode": 4,
- "mod": "PRCUTA_G",
- "bytes": 7192,
- "out": "uuDJt_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW12DGZ_V_G": {
- "eR5Zz_d": {
- "mode": 4,
- "mod": "PDDW12DGZ_V_G",
- "bytes": 15774,
- "out": "eR5Zz_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW08SDGZ_V_G": {
- "JznNw_d": {
- "mode": 4,
- "mod": "PRDW08SDGZ_V_G",
- "bytes": 15776,
- "out": "JznNw_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW08DGZ_H_G": {
- "C0gYT_d": {
- "mode": 4,
- "mod": "PDDW08DGZ_H_G",
- "bytes": 15774,
- "out": "C0gYT_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2DGZ_V_G": {
- "S5Dr6_d": {
- "mode": 4,
- "mod": "PVSS2DGZ_V_G",
- "bytes": 7196,
- "out": "S5Dr6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1AC_H_G": {
- "W9VnM_d": {
- "mode": 4,
- "mod": "PVDD1AC_H_G",
- "bytes": 7196,
- "out": "W9VnM_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "dacif_0000": {
- "yeRHW_d": {
- "mode": 4,
- "mod": "dacif_0000",
- "bytes": 583580,
- "out": "yeRHW_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW08SDGZ_V_G": {
- "VJ8Wg_d": {
- "mode": 4,
- "mod": "PRUW08SDGZ_V_G",
- "bytes": 15756,
- "out": "VJ8Wg_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD3A_H_G": {
- "DTJPF_d": {
- "mode": 4,
- "mod": "PVDD3A_H_G",
- "bytes": 7194,
- "out": "DTJPF_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1ANA_V_G": {
- "BL1m7_d": {
- "mode": 4,
- "mod": "PVDD1ANA_V_G",
- "bytes": 7196,
- "out": "BL1m7_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW16DGZ_V_G": {
- "StNiL_d": {
- "mode": 4,
- "mod": "PDDW16DGZ_V_G",
- "bytes": 15774,
- "out": "StNiL_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD2ANA_V_G": {
- "J6VbG_d": {
- "mode": 4,
- "mod": "PVDD2ANA_V_G",
- "bytes": 7196,
- "out": "J6VbG_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW12SDGZ_H_G": {
- "uKPxf_d": {
- "mode": 4,
- "mod": "PDUW12SDGZ_H_G",
- "bytes": 15756,
- "out": "uKPxf_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "std": {
- "reYIK_d": {
- "mode": 4,
- "mod": "std",
- "bytes": 43792,
- "out": "reYIK_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS2A_H_G": {
- "usz4x_d": {
- "mode": 4,
- "mod": "PVSS2A_H_G",
- "bytes": 7194,
- "out": "usz4x_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "ramp_gen_0000": {
- "AyqFm_d": {
- "mode": 4,
- "mod": "ramp_gen_0000",
- "bytes": 353522,
- "out": "AyqFm_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD2POC_V_G": {
- "urn8Q_d": {
- "mode": 4,
- "mod": "PVDD2POC_V_G",
- "bytes": 7196,
- "out": "urn8Q_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sram_if_0002": {
- "bEAZ8_d": {
- "mode": 4,
- "mod": "sram_if_0002",
- "bytes": 10008,
- "out": "bEAZ8_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PCLAMP_G": {
- "DA1Pu_d": {
- "mode": 4,
- "mod": "PCLAMP_G",
- "bytes": 8224,
- "out": "DA1Pu_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3AC_V_G": {
- "i0k2A_d": {
- "mode": 4,
- "mod": "PVSS3AC_V_G",
- "bytes": 7196,
- "out": "i0k2A_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW16DGZ_H_G": {
- "GzkJA_d": {
- "mode": 4,
- "mod": "PDDW16DGZ_H_G",
- "bytes": 15774,
- "out": "GzkJA_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW16SDGZ_H_G": {
- "riJVY_d": {
- "mode": 4,
- "mod": "PRUW16SDGZ_H_G",
- "bytes": 15756,
- "out": "riJVY_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "tsdn28hpcpuhdb4096x128m4mw_170a": {
- "UJ4u7_d": {
- "mode": 4,
- "mod": "tsdn28hpcpuhdb4096x128m4mw_170a",
- "bytes": 818370,
- "out": "UJ4u7_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DA4008_DEM_Parallel_PRBS_1CH": {
- "cQW1k_d": {
- "mode": 4,
- "mod": "DA4008_DEM_Parallel_PRBS_1CH",
- "bytes": 27078,
- "out": "cQW1k_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3A_V_G": {
- "VSdee_d": {
- "mode": 4,
- "mod": "PVSS3A_V_G",
- "bytes": 7238,
- "out": "VSdee_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW08DGZ_H_G": {
- "fLemy_d": {
- "mode": 4,
- "mod": "PRUW08DGZ_H_G",
- "bytes": 15754,
- "out": "fLemy_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW12SDGZ_H_G": {
- "fTzb4_d": {
- "mode": 4,
- "mod": "PRDW12SDGZ_H_G",
- "bytes": 15776,
- "out": "fTzb4_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "TB": {
- "sH4Fc_d": {
- "mode": 4,
- "mod": "TB",
- "bytes": 300224,
- "out": "sH4Fc_d.o",
- "checksum": 0,
- "archive": "archive.1/_64123_archive_1.a"
- }
- },
- "PVDD2POC_H_G": {
- "avdwk_d": {
- "mode": 4,
- "mod": "PVDD2POC_H_G",
- "bytes": 7196,
- "out": "avdwk_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW12DGZ_H_G": {
- "hpMjC_d": {
- "mode": 4,
- "mod": "PRUW12DGZ_H_G",
- "bytes": 15754,
- "out": "hpMjC_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW16SDGZ_H_G": {
- "V63WF_d": {
- "mode": 4,
- "mod": "PRDW16SDGZ_H_G",
- "bytes": 15776,
- "out": "V63WF_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW08SDGZ_H_G": {
- "gwpgC_d": {
- "mode": 4,
- "mod": "PRUW08SDGZ_H_G",
- "bytes": 15756,
- "out": "gwpgC_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW12DGZ_H_G": {
- "atFKr_d": {
- "mode": 4,
- "mod": "PDDW12DGZ_H_G",
- "bytes": 15774,
- "out": "atFKr_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1A_V_G": {
- "CNBi6_d": {
- "mode": 4,
- "mod": "PVDD1A_V_G",
- "bytes": 7194,
- "out": "CNBi6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "crc32": {
- "T59nH_d": {
- "mode": 4,
- "mod": "crc32",
- "bytes": 16428,
- "out": "T59nH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sirv_gnrl_ltch": {
- "UTi0b_d": {
- "mode": 4,
- "mod": "sirv_gnrl_ltch",
- "bytes": 11042,
- "out": "UTi0b_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW12SDGZ_H_G": {
- "EkH6u_d": {
- "mode": 4,
- "mod": "PRUW12SDGZ_H_G",
- "bytes": 15756,
- "out": "EkH6u_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW16SDGZ_V_G": {
- "qePm9_d": {
- "mode": 4,
- "mod": "PDUW16SDGZ_V_G",
- "bytes": 15756,
- "out": "qePm9_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "DEM_Reverse_64CH_0000": {
- "YnCHV_d": {
- "mode": 4,
- "mod": "DEM_Reverse_64CH_0000",
- "bytes": 424684,
- "out": "YnCHV_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW08SDGZ_H_G": {
- "S90qD_d": {
- "mode": 4,
- "mod": "PRDW08SDGZ_H_G",
- "bytes": 15776,
- "out": "S90qD_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVSS3AC_H_G": {
- "B0f3F_d": {
- "mode": 4,
- "mod": "PVSS3AC_H_G",
- "bytes": 7196,
- "out": "B0f3F_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "spi_bus_decoder_0000": {
- "qLaCg_d": {
- "mode": 4,
- "mod": "spi_bus_decoder_0000",
- "bytes": 102370,
- "out": "qLaCg_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sram_if_0000": {
- "nJgqZ_d": {
- "mode": 4,
- "mod": "sram_if_0000",
- "bytes": 9748,
- "out": "nJgqZ_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW16DGZ_V_G": {
- "ErxQ3_d": {
- "mode": 4,
- "mod": "PRUW16DGZ_V_G",
- "bytes": 15754,
- "out": "ErxQ3_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PCLAMPC_V_G": {
- "EyyeT_d": {
- "mode": 4,
- "mod": "PCLAMPC_V_G",
- "bytes": 7196,
- "out": "EyyeT_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sirv_gnrl_dffl": {
- "BM4bj_d": {
- "mode": 4,
- "mod": "sirv_gnrl_dffl",
- "bytes": 11420,
- "out": "BM4bj_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "ulink_rx": {
- "dteMU_d": {
- "mode": 4,
- "mod": "ulink_rx",
- "bytes": 229374,
- "out": "dteMU_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "...MASTER...": {
- "amcQw_d": {
- "mode": 4,
- "mod": "...MASTER...",
- "bytes": 24730,
- "out": "objs/amcQw_d.o",
- "checksum": 0
- }
- },
- "pulse_generator": {
- "aJYLF_d": {
- "mode": 4,
- "mod": "pulse_generator",
- "bytes": 23788,
- "out": "aJYLF_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD1ANA_H_G": {
- "fEWTj_d": {
- "mode": 4,
- "mod": "PVDD1ANA_H_G",
- "bytes": 7196,
- "out": "fEWTj_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW08SDGZ_V_G": {
- "UxPrL_d": {
- "mode": 4,
- "mod": "PDUW08SDGZ_V_G",
- "bytes": 16200,
- "out": "UxPrL_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "syn_fwft_fifo": {
- "gzftm_d": {
- "mode": 4,
- "mod": "syn_fwft_fifo",
- "bytes": 58932,
- "out": "gzftm_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW12SDGZ_V_G": {
- "qCQFW_d": {
- "mode": 4,
- "mod": "PDUW12SDGZ_V_G",
- "bytes": 15756,
- "out": "qCQFW_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW08DGZ_V_G": {
- "aEWK6_d": {
- "mode": 4,
- "mod": "PDUW08DGZ_V_G",
- "bytes": 15754,
- "out": "aEWK6_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW08SDGZ_V_G": {
- "N1ndr_d": {
- "mode": 4,
- "mod": "PDDW08SDGZ_V_G",
- "bytes": 15776,
- "out": "N1ndr_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW12SDGZ_V_G": {
- "Pzaun_d": {
- "mode": 4,
- "mod": "PDDW12SDGZ_V_G",
- "bytes": 15776,
- "out": "Pzaun_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PENDCAP_G": {
- "bhWYh_d": {
- "mode": 4,
- "mod": "PENDCAP_G",
- "bytes": 7194,
- "out": "bhWYh_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW12DGZ_V_G": {
- "NkwYe_d": {
- "mode": 4,
- "mod": "PDUW12DGZ_V_G",
- "bytes": 15754,
- "out": "NkwYe_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRUW16DGZ_H_G": {
- "AVYgt_d": {
- "mode": 4,
- "mod": "PRUW16DGZ_H_G",
- "bytes": 15754,
- "out": "AVYgt_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PCLAMPC_H_G": {
- "UyGax_d": {
- "mode": 4,
- "mod": "PCLAMPC_H_G",
- "bytes": 7196,
- "out": "UyGax_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW16SDGZ_H_G": {
- "HiTWu_d": {
- "mode": 4,
- "mod": "PDDW16SDGZ_H_G",
- "bytes": 15776,
- "out": "HiTWu_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PVDD2DGZ_V_G": {
- "LSxxn_d": {
- "mode": 4,
- "mod": "PVDD2DGZ_V_G",
- "bytes": 7240,
- "out": "LSxxn_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW08DGZ_H_G": {
- "swWa5_d": {
- "mode": 4,
- "mod": "PRDW08DGZ_H_G",
- "bytes": 15774,
- "out": "swWa5_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": {
- "bghMB_d": {
- "mode": 4,
- "mod": "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bytes": 79734,
- "out": "bghMB_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PRDW12DGZ_V_G": {
- "ZKk4u_d": {
- "mode": 4,
- "mod": "PRDW12DGZ_V_G",
- "bytes": 15774,
- "out": "ZKk4u_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "sram_dmux_w_0000": {
- "dc6nH_d": {
- "mode": 4,
- "mod": "sram_dmux_w_0000",
- "bytes": 96944,
- "out": "dc6nH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDDW04SDGZ_V_G": {
- "J6fGD_d": {
- "mode": 4,
- "mod": "PDDW04SDGZ_V_G",
- "bytes": 15776,
- "out": "J6fGD_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "PDUW08DGZ_H_G": {
- "KkPJH_d": {
- "mode": 4,
- "mod": "PDUW08DGZ_H_G",
- "bytes": 15754,
- "out": "KkPJH_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- },
- "spi_slave": {
- "eAsJz_d": {
- "mode": 4,
- "mod": "spi_slave",
- "bytes": 321458,
- "out": "eAsJz_d.o",
- "checksum": 0,
- "archive": "archive.1/_prev_archive_1.a"
- }
- }
- },
- "cycles_program_begin": 70083379912451254,
- "perf": [
- {
- "stat": [
- "main",
- "entry",
- 0.022315025329589844,
- 0.039213999999999999,
- 0.035945999999999999,
- 219352,
- 219352,
- 0.0,
- 0.0,
- 1773479965.818737,
- 70083379912694754
- ],
- "sub": [
- {
- "stat": [
- "doParsingAndDesignResolution",
- "entry",
- 0.15174508094787598,
- 0.042665000000000002,
- 0.050132000000000003,
- 279508,
- 280308,
- 0.0,
- 0.0,
- 1773479965.9481671,
- 70083380279799462
- ],
- "sub": []
- },
- {
- "stat": [
- "doParsingAndDesignResolution",
- "exit",
- 0.31199097633361816,
- 0.20365,
- 0.063910999999999996,
- 289728,
- 290376,
- 0.0,
- 0.0,
- 1773479966.108413,
- 70083380734329526
- ],
- "sub": []
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "entry",
- 0.32471799850463867,
- 0.20491799999999999,
- 0.066137000000000001,
- 289728,
- 290376,
- 0.0026080000000000001,
- 0.0078250000000000004,
- 1773479966.12114,
- 70083380770418868
- ],
- "sub": [
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "entry",
- 0.45463395118713379,
- 0.34208300000000003,
- 0.070696999999999996,
- 294372,
- 294376,
- 0.0026080000000000001,
- 0.0078250000000000004,
- 1773479966.251056,
- 70083381138892634
- ],
- "sub": []
- },
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "exit",
- 1.6576180458068848,
- 1.552713,
- 0.11448999999999999,
- 323436,
- 323460,
- 0.01285,
- 0.054212999999999997,
- 1773479967.4540401,
- 70083384551018074
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "entry",
- 1.6576969623565674,
- 1.5527950000000001,
- 0.114496,
- 323436,
- 323460,
- 0.01285,
- 0.054212999999999997,
- 1773479967.454119,
- 70083384551177238
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "exit",
- 1.7741661071777344,
- 1.669988,
- 0.124349,
- 323436,
- 323460,
- 0.01285,
- 0.054212999999999997,
- 1773479967.5705881,
- 70083384881609490
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "exit",
- 1.7742190361022949,
- 1.6700439999999999,
- 0.12435300000000001,
- 323436,
- 323460,
- 0.01285,
- 0.054212999999999997,
- 1773479967.570641,
- 70083384881668848
- ],
- "sub": []
- },
- {
- "stat": [
- "doGAToPass2",
- "entry",
- 1.7742400169372559,
- 1.6700650000000001,
- 0.12435400000000001,
- 323436,
- 323460,
- 0.01285,
- 0.054212999999999997,
- 1773479967.570662,
- 70083384881720032
- ],
- "sub": [
- {
- "stat": [
- "DoPass2",
- "entry",
- 1.8339529037475586,
- 1.6826759999999998,
- 0.129772,
- 321096,
- 323460,
- 0.035432999999999999,
- 0.079685000000000006,
- 1773479967.6303749,
- 70083385051191692
- ],
- "sub": []
- },
- {
- "stat": [
- "DoPass2",
- "exit",
- 2.1002669334411621,
- 1.8699520000000001,
- 0.17465900000000001,
- 323072,
- 323460,
- 1.1946319999999999,
- 0.31574000000000002,
- 1773479967.8966889,
- 70083385806520142
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doGAToPass2",
- "exit",
- 2.1044530868530273,
- 1.8734090000000001,
- 0.17576800000000001,
- 323072,
- 323460,
- 1.1946319999999999,
- 0.31574000000000002,
- 1773479967.9008751,
- 70083385818392620
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "main",
- "exit",
- 2.1050930023193359,
- 1.8735040000000001,
- 0.176371,
- 323064,
- 323460,
- 1.1946319999999999,
- 0.31574000000000002,
- 1773479967.901515,
- 70083385820156456
- ],
- "sub": []
- }
- ],
- "incremental": "on",
- "Misc": {
- "vcs_version": "O-2018.09-SP2_Full64",
- "vcs_build_date": "Build Date = Feb 28 2019 22:34:30",
- "VCS_HOME": "/opt/synopsys/vcs-mx/O-2018.09-SP2",
- "default_output_dir": "csrc",
- "master_pid": 64094,
- "hostname": "cryo1",
- "cwd": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top",
- "csrc": "csrc",
- "daidir": "simv.daidir",
- "csrc_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/csrc",
- "daidir_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir",
- "archive_dir": "archive.1"
- },
- "MlibObjs": {},
- "NameTable": {
- "PDUW16DGZ_H_G": [
- "PDUW16DGZ_H_G",
- "M7qR3",
- "module",
- 38
- ],
- "PDB3AC_V_G": [
- "PDB3AC_V_G",
- "dviib",
- "module",
- 9
- ],
- "dac_regfile": [
- "dac_regfile",
- "LR0zI",
- "module",
- 118
- ],
- "PRUW16SDGZ_V_G": [
- "PRUW16SDGZ_V_G",
- "psjSY",
- "module",
- 71
- ],
- "PDUW04SDGZ_H_G": [
- "PDUW04SDGZ_H_G",
- "wGYhm",
- "module",
- 28
- ],
- "_vcs_unit__348857874": [
- "_vcs_unit__348857874",
- "FgDcH",
- "module",
- 1
- ],
- "PVSS2A_V_G": [
- "PVSS2A_V_G",
- "fMI2k",
- "module",
- 99
- ],
- "PENDCAPA_G": [
- "PENDCAPA_G",
- "wpYca",
- "module",
- 45
- ],
- "PDDW08DGZ_V_G": [
- "PDDW08DGZ_V_G",
- "K0TuH",
- "module",
- 15
- ],
- "PDDW16SDGZ_V_G": [
- "PDDW16SDGZ_V_G",
- "ebe78",
- "module",
- 25
- ],
- "PDUW12SDGZ_V_G": [
- "PDUW12SDGZ_V_G",
- "qCQFW",
- "module",
- 37
- ],
- "PDUW12SDGZ_H_G": [
- "PDUW12SDGZ_H_G",
- "uKPxf",
- "module",
- 36
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 2
- ],
- "sram_if_0002": [
- "sram_if_0002",
- "bEAZ8",
- "module",
- 133
- ],
- "PCLAMP_G": [
- "PCLAMP_G",
- "DA1Pu",
- "module",
- 3
- ],
- "PVDD2POC_V_G": [
- "PVDD2POC_V_G",
- "urn8Q",
- "module",
- 85
- ],
- "PDUW16DGZ_V_G": [
- "PDUW16DGZ_V_G",
- "FDqaf",
- "module",
- 39
- ],
- "iopad": [
- "iopad",
- "ga3jL",
- "module",
- 114
- ],
- "PVSS1ANA_V_G": [
- "PVSS1ANA_V_G",
- "gL5Pd",
- "module",
- 95
- ],
- "PDUW08DGZ_V_G": [
- "PDUW08DGZ_V_G",
- "aEWK6",
- "module",
- 31
- ],
- "PRDW12SDGZ_V_G": [
- "PRDW12SDGZ_V_G",
- "zIUFF",
- "module",
- 55
- ],
- "PDB3A_V_G": [
- "PDB3A_V_G",
- "xqWfY",
- "module",
- 7
- ],
- "PVDD3A_V_G": [
- "PVDD3A_V_G",
- "t6fPF",
- "module",
- 87
- ],
- "PRDW16DGZ_V_G": [
- "PRDW16DGZ_V_G",
- "Jztd6",
- "module",
- 57
- ],
- "PRUW12SDGZ_V_G": [
- "PRUW12SDGZ_V_G",
- "yt645",
- "module",
- 67
- ],
- "PDXOEDG_V_G": [
- "PDXOEDG_V_G",
- "EZF3t",
- "module",
- 43
- ],
- "da4008_chip_top": [
- "da4008_chip_top",
- "ircEj",
- "module",
- 141
- ],
- "PDDW12SDGZ_H_G": [
- "PDDW12SDGZ_H_G",
- "KpuhN",
- "module",
- 20
- ],
- "PDDW04SDGZ_H_G": [
- "PDDW04SDGZ_H_G",
- "CQ4ek",
- "module",
- 12
- ],
- "PCLAMPC_H_G": [
- "PCLAMPC_H_G",
- "UyGax",
- "module",
- 4
- ],
- "PRDW16SDGZ_V_G": [
- "PRDW16SDGZ_V_G",
- "YRh5I",
- "module",
- 59
- ],
- "PVSS3DGZ_V_G": [
- "PVSS3DGZ_V_G",
- "IZu3i",
- "module",
- 111
- ],
- "PVDD3AC_H_G": [
- "PVDD3AC_H_G",
- "U0PST",
- "module",
- 88
- ],
- "PCLAMPC_V_G": [
- "PCLAMPC_V_G",
- "EyyeT",
- "module",
- 5
- ],
- "PRDW08SDGZ_V_G": [
- "PRDW08SDGZ_V_G",
- "JznNw",
- "module",
- 51
- ],
- "PDDW12DGZ_V_G": [
- "PDDW12DGZ_V_G",
- "eR5Zz",
- "module",
- 19
- ],
- "PDDW08DGZ_H_G": [
- "PDDW08DGZ_H_G",
- "C0gYT",
- "module",
- 14
- ],
- "PVSS2DGZ_V_G": [
- "PVSS2DGZ_V_G",
- "S5Dr6",
- "module",
- 105
- ],
- "PDB3A_H_G": [
- "PDB3A_H_G",
- "dfLHW",
- "module",
- 6
- ],
- "rst_gen_unit": [
- "rst_gen_unit",
- "anuMN",
- "module",
- 124
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": [
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bghMB",
- "module",
- 113
- ],
- "PDDW16SDGZ_H_G": [
- "PDDW16SDGZ_H_G",
- "HiTWu",
- "module",
- 24
- ],
- "PDUW16SDGZ_H_G": [
- "PDUW16SDGZ_H_G",
- "iWZrk",
- "module",
- 40
- ],
- "PDUW04SDGZ_V_G": [
- "PDUW04SDGZ_V_G",
- "mJZpP",
- "module",
- 29
- ],
- "PVSS3A_H_G": [
- "PVSS3A_H_G",
- "jsR1C",
- "module",
- 106
- ],
- "PDB3AC_H_G": [
- "PDB3AC_H_G",
- "LsJ1x",
- "module",
- 8
- ],
- "PDUW04DGZ_V_G": [
- "PDUW04DGZ_V_G",
- "QGhk6",
- "module",
- 27
- ],
- "PVDD3AC_V_G": [
- "PVDD3AC_V_G",
- "rZC3e",
- "module",
- 89
- ],
- "PVSS2DGZ_H_G": [
- "PVSS2DGZ_H_G",
- "ke5cH",
- "module",
- 104
- ],
- "PDDW04DGZ_V_G": [
- "PDDW04DGZ_V_G",
- "sZaSM",
- "module",
- 11
- ],
- "sram_if_0001": [
- "sram_if_0001",
- "z4wk8",
- "module",
- 132
- ],
- "PDDW04DGZ_H_G": [
- "PDDW04DGZ_H_G",
- "Z62Gy",
- "module",
- 10
- ],
- "PVDD1AC_V_G": [
- "PVDD1AC_V_G",
- "qn6Yx",
- "module",
- 75
- ],
- "PVSS2ANA_V_G": [
- "PVSS2ANA_V_G",
- "Md441",
- "module",
- 103
- ],
- "PDDW04SDGZ_V_G": [
- "PDDW04SDGZ_V_G",
- "J6fGD",
- "module",
- 13
- ],
- "PDDW16DGZ_H_G": [
- "PDDW16DGZ_H_G",
- "GzkJA",
- "module",
- 22
- ],
- "PVSS3AC_V_G": [
- "PVSS3AC_V_G",
- "i0k2A",
- "module",
- 109
- ],
- "PDDW08SDGZ_H_G": [
- "PDDW08SDGZ_H_G",
- "QjV6F",
- "module",
- 16
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 120
- ],
- "PVSS1AC_V_G": [
- "PVSS1AC_V_G",
- "I7RzE",
- "module",
- 93
- ],
- "PDDW08SDGZ_V_G": [
- "PDDW08SDGZ_V_G",
- "N1ndr",
- "module",
- 17
- ],
- "PRDW08SDGZ_H_G": [
- "PRDW08SDGZ_H_G",
- "S90qD",
- "module",
- 50
- ],
- "PDDW12DGZ_H_G": [
- "PDDW12DGZ_H_G",
- "atFKr",
- "module",
- 18
- ],
- "PDDW12SDGZ_V_G": [
- "PDDW12SDGZ_V_G",
- "Pzaun",
- "module",
- 21
- ],
- "PVDD1ANA_V_G": [
- "PVDD1ANA_V_G",
- "BL1m7",
- "module",
- 77
- ],
- "PVDD3A_H_G": [
- "PVDD3A_H_G",
- "DTJPF",
- "module",
- 86
- ],
- "PDDW16DGZ_V_G": [
- "PDDW16DGZ_V_G",
- "StNiL",
- "module",
- 23
- ],
- "PDUW04DGZ_H_G": [
- "PDUW04DGZ_H_G",
- "YTwQz",
- "module",
- 26
- ],
- "PVDD2DGZ_H_G": [
- "PVDD2DGZ_H_G",
- "nULrd",
- "module",
- 82
- ],
- "PDUW08DGZ_H_G": [
- "PDUW08DGZ_H_G",
- "KkPJH",
- "module",
- 30
- ],
- "PDUW08SDGZ_H_G": [
- "PDUW08SDGZ_H_G",
- "gxqJp",
- "module",
- 32
- ],
- "ulink_descrambler_128": [
- "ulink_descrambler_128",
- "qxEhc",
- "module",
- 121
- ],
- "sram_if": [
- "sram_if",
- "NABmh",
- "module",
- 130
- ],
- "PRCUTA_G": [
- "PRCUTA_G",
- "uuDJt",
- "module",
- 47
- ],
- "PVDD1ANA_H_G": [
- "PVDD1ANA_H_G",
- "fEWTj",
- "module",
- 76
- ],
- "PDUW08SDGZ_V_G": [
- "PDUW08SDGZ_V_G",
- "UxPrL",
- "module",
- 33
- ],
- "DA4008_DEM_Parallel_PRBS_64CH": [
- "DA4008_DEM_Parallel_PRBS_64CH",
- "q09PC",
- "module",
- 140
- ],
- "PDUW12DGZ_H_G": [
- "PDUW12DGZ_H_G",
- "HYpLe",
- "module",
- 34
- ],
- "PVSS1AC_H_G": [
- "PVSS1AC_H_G",
- "EZJLH",
- "module",
- 92
- ],
- "PDUW12DGZ_V_G": [
- "PDUW12DGZ_V_G",
- "NkwYe",
- "module",
- 35
- ],
- "PRUW16DGZ_H_G": [
- "PRUW16DGZ_H_G",
- "AVYgt",
- "module",
- 68
- ],
- "PDUW16SDGZ_V_G": [
- "PDUW16SDGZ_V_G",
- "qePm9",
- "module",
- 41
- ],
- "PDXOEDG_H_G": [
- "PDXOEDG_H_G",
- "IYQDs",
- "module",
- 42
- ],
- "PENDCAP_G": [
- "PENDCAP_G",
- "bhWYh",
- "module",
- 44
- ],
- "PRUW08DGZ_V_G": [
- "PRUW08DGZ_V_G",
- "EtT2L",
- "module",
- 61
- ],
- "PVDD2ANA_H_G": [
- "PVDD2ANA_H_G",
- "mZVHG",
- "module",
- 80
- ],
- "PRCUT_G": [
- "PRCUT_G",
- "uQmb5",
- "module",
- 46
- ],
- "DW_pulse_sync_0000": [
- "DW_pulse_sync_0000",
- "Ss3zK",
- "module",
- 150
- ],
- "PVDD1DGZ_H_G": [
- "PVDD1DGZ_H_G",
- "Eie6s",
- "module",
- 78
- ],
- "PRDW08DGZ_H_G": [
- "PRDW08DGZ_H_G",
- "swWa5",
- "module",
- 48
- ],
- "PVSS1A_H_G": [
- "PVSS1A_H_G",
- "aYKwj",
- "module",
- 90
- ],
- "PVSS1DGZ_V_G": [
- "PVSS1DGZ_V_G",
- "jHcbf",
- "module",
- 97
- ],
- "PRDW08DGZ_V_G": [
- "PRDW08DGZ_V_G",
- "ZZxj5",
- "module",
- 49
- ],
- "PRDW12DGZ_H_G": [
- "PRDW12DGZ_H_G",
- "VaZm2",
- "module",
- 52
- ],
- "PRDW12DGZ_V_G": [
- "PRDW12DGZ_V_G",
- "ZKk4u",
- "module",
- 53
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 152
- ],
- "PVDD2POC_H_G": [
- "PVDD2POC_H_G",
- "avdwk",
- "module",
- 84
- ],
- "PRDW12SDGZ_H_G": [
- "PRDW12SDGZ_H_G",
- "fTzb4",
- "module",
- 54
- ],
- "PRDW16DGZ_H_G": [
- "PRDW16DGZ_H_G",
- "EEqKt",
- "module",
- 56
- ],
- "PRDW16SDGZ_H_G": [
- "PRDW16SDGZ_H_G",
- "V63WF",
- "module",
- 58
- ],
- "PRUW12DGZ_H_G": [
- "PRUW12DGZ_H_G",
- "hpMjC",
- "module",
- 64
- ],
- "PRUW08DGZ_H_G": [
- "PRUW08DGZ_H_G",
- "fLemy",
- "module",
- 60
- ],
- "PRUW08SDGZ_H_G": [
- "PRUW08SDGZ_H_G",
- "gwpgC",
- "module",
- 62
- ],
- "dacif_0000": [
- "dacif_0000",
- "yeRHW",
- "module",
- 116
- ],
- "PRUW08SDGZ_V_G": [
- "PRUW08SDGZ_V_G",
- "VJ8Wg",
- "module",
- 63
- ],
- "PRUW12DGZ_V_G": [
- "PRUW12DGZ_V_G",
- "pucZW",
- "module",
- 65
- ],
- "PRUW12SDGZ_H_G": [
- "PRUW12SDGZ_H_G",
- "EkH6u",
- "module",
- 66
- ],
- "PRUW16DGZ_V_G": [
- "PRUW16DGZ_V_G",
- "ErxQ3",
- "module",
- 69
- ],
- "PRUW16SDGZ_H_G": [
- "PRUW16SDGZ_H_G",
- "riJVY",
- "module",
- 70
- ],
- "spi_if": [
- "spi_if",
- "IHYdB",
- "module",
- 145
- ],
- "PVDD1A_H_G": [
- "PVDD1A_H_G",
- "zNPu5",
- "module",
- 72
- ],
- "PVDD1A_V_G": [
- "PVDD1A_V_G",
- "CNBi6",
- "module",
- 73
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 122
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 128
- ],
- "PVDD1AC_H_G": [
- "PVDD1AC_H_G",
- "W9VnM",
- "module",
- 74
- ],
- "PVDD1DGZ_V_G": [
- "PVDD1DGZ_V_G",
- "sPggV",
- "module",
- 79
- ],
- "PVDD2ANA_V_G": [
- "PVDD2ANA_V_G",
- "J6VbG",
- "module",
- 81
- ],
- "PVSS3A_V_G": [
- "PVSS3A_V_G",
- "VSdee",
- "module",
- 107
- ],
- "PVDD2DGZ_V_G": [
- "PVDD2DGZ_V_G",
- "LSxxn",
- "module",
- 83
- ],
- "PVSS1A_V_G": [
- "PVSS1A_V_G",
- "ZmPik",
- "module",
- 91
- ],
- "reset_tb": [
- "reset_tb",
- "Q3Wk7",
- "module",
- 148
- ],
- "PVSS1ANA_H_G": [
- "PVSS1ANA_H_G",
- "HtwuV",
- "module",
- 94
- ],
- "PVSS1DGZ_H_G": [
- "PVSS1DGZ_H_G",
- "Zp1LH",
- "module",
- 96
- ],
- "PVSS2A_H_G": [
- "PVSS2A_H_G",
- "usz4x",
- "module",
- 98
- ],
- "PVSS2AC_H_G": [
- "PVSS2AC_H_G",
- "TqmdJ",
- "module",
- 100
- ],
- "systemregfile": [
- "systemregfile",
- "qcK8J",
- "module",
- 115
- ],
- "DW_sync_0000": [
- "DW_sync_0000",
- "zVfcK",
- "module",
- 149
- ],
- "PVSS2AC_V_G": [
- "PVSS2AC_V_G",
- "YBQ1m",
- "module",
- 101
- ],
- "PVSS2ANA_H_G": [
- "PVSS2ANA_H_G",
- "g8kcb",
- "module",
- 102
- ],
- "PVSS3AC_H_G": [
- "PVSS3AC_H_G",
- "B0f3F",
- "module",
- 108
- ],
- "PVSS3DGZ_H_G": [
- "PVSS3DGZ_H_G",
- "rq1J0",
- "module",
- 110
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 125
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a": [
- "tsdn28hpcpuhdb4096x128m4mw_170a",
- "UJ4u7",
- "module",
- 112
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 117
- ],
- "ulink_rx": [
- "ulink_rx",
- "dteMU",
- "module",
- 119
- ],
- "ulink_frame_receiver_0000": [
- "ulink_frame_receiver_0000",
- "P3BwM",
- "module",
- 123
- ],
- "pulse_generator": [
- "pulse_generator",
- "aJYLF",
- "module",
- 126
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 127
- ],
- "ramp_gen_0000": [
- "ramp_gen_0000",
- "AyqFm",
- "module",
- 129
- ],
- "sram_if_0000": [
- "sram_if_0000",
- "nJgqZ",
- "module",
- 131
- ],
- "sram_dmux_w_0000": [
- "sram_dmux_w_0000",
- "dc6nH",
- "module",
- 134
- ],
- "dpram": [
- "dpram",
- "bQxt6",
- "module",
- 135
- ],
- "clk_regfile": [
- "clk_regfile",
- "jAdLC",
- "module",
- 136
- ],
- "awg_top": [
- "awg_top",
- "J5zQK",
- "module",
- 137
- ],
- "DEM_PhaseSync_4008": [
- "DEM_PhaseSync_4008",
- "sIRhK",
- "module",
- 138
- ],
- "DA4008_DEM_Parallel_PRBS_1CH": [
- "DA4008_DEM_Parallel_PRBS_1CH",
- "cQW1k",
- "module",
- 139
- ],
- "spi_bus_decoder_0000": [
- "spi_bus_decoder_0000",
- "qLaCg",
- "module",
- 142
- ],
- "spi_slave": [
- "spi_slave",
- "eAsJz",
- "module",
- 143
- ],
- "spi_sys_0000": [
- "spi_sys_0000",
- "QT8j3",
- "module",
- 144
- ],
- "clk_gen": [
- "clk_gen",
- "MEIvW",
- "module",
- 146
- ],
- "DEM_Reverse_64CH_0000": [
- "DEM_Reverse_64CH_0000",
- "YnCHV",
- "module",
- 147
- ],
- "lvds_if": [
- "lvds_if",
- "nS0i0",
- "module",
- 151
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 153
- ]
- },
- "CompileStatus": "Successful",
- "cpu_cycles_pass2_start": 70083385051216894,
- "CompileProcesses": [
- "cgproc.64094.json",
- "cgproc.64118.json",
- "cgproc.64119.json",
- "cgproc.64120.json",
- "cgproc.64121.json",
- "cgproc.64122.json",
- "cgproc.64123.json",
- "cgproc.64124.json"
- ],
- "CompileStrategy": "fullobj",
- "stat": {
- "ru_self_cgstart": {
- "ru_utime_sec": 1.682831,
- "ru_nivcsw": 19,
- "ru_majflt": 0,
- "ru_stime_sec": 0.12978400000000001,
- "ru_nvcsw": 55,
- "ru_maxrss_kb": 111292,
- "ru_minflt": 44054
- },
- "cpu_cycles_end": 70083385820297738,
- "ru_childs_end": {
- "ru_utime_sec": 1.1946319999999999,
- "ru_nivcsw": 36,
- "ru_majflt": 0,
- "ru_stime_sec": 0.31574000000000002,
- "ru_nvcsw": 198,
- "ru_maxrss_kb": 65388,
- "ru_minflt": 64354
- },
- "totalObjSize": 389048,
- "cpu_cycles_total": 5907846484,
- "ru_childs_cgstart": {
- "ru_utime_sec": 0.035432999999999999,
- "ru_nivcsw": 24,
- "ru_majflt": 0,
- "ru_stime_sec": 0.079685000000000006,
- "ru_nvcsw": 26,
- "ru_maxrss_kb": 50884,
- "ru_minflt": 11302
- },
- "nQuads": 12768,
- "cpu_cycles_cgstart": 70083385051515782,
- "Frontend(%)": 56.003514837673428,
- "peak_mem_kb": 323460,
- "nMops": 42927,
- "ru_self_end": {
- "ru_utime_sec": 1.8735040000000001,
- "ru_nivcsw": 22,
- "ru_majflt": 0,
- "ru_stime_sec": 0.17643700000000001,
- "ru_nvcsw": 107,
- "ru_maxrss_kb": 118196,
- "ru_minflt": 51569
- },
- "mopSpeed": 31800.792964073633,
- "quadSpeed": 9458.674600258395,
- "mop/quad": 3.3620770676691731,
- "outputSizePerQuad": 30.470551378446114,
- "CodeGen(%)": 43.996485162326572,
- "realTime": 2.1051778793334961
- },
- "CurCompileUdps": {},
- "SIMBData": {
- "out": "amcQwB.o",
- "bytes": 141522,
- "archive": "archive.1/_64094_archive_1.a",
- "text": 0
- },
- "CurCompileModules": [
- "...MASTER...",
- "da4008_chip_top",
- "_vcs_unit__348857874",
- "_vcs_unit__348857874",
- "DW_sync_0000",
- "sirv_gnrl_xchecker",
- "PDDW08SDGZ_V_G",
- "PDDW16SDGZ_V_G",
- "PDUW08SDGZ_V_G",
- "PDUW16SDGZ_V_G",
- "PRDW12SDGZ_V_G",
- "PRUW08SDGZ_V_G",
- "PRUW16SDGZ_V_G",
- "PDXOEDG_V_G",
- "PDB3AC_V_G",
- "PVDD1AC_V_G",
- "PVDD2DGZ_V_G",
- "PVSS1A_V_G",
- "PVSS2A_V_G",
- "PVSS3A_V_G",
- "sram_if_0002"
- ],
- "LVLData": [
- "SIM"
- ],
- "PEModules": [],
- "rlimit": {
- "data": -1,
- "stack": -1
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64094.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64094.json
deleted file mode 100644
index c81df57..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64094.json
+++ /dev/null
@@ -1,822 +0,0 @@
-{
- "reusePaths": {
- "amcQw_d": {
- "icPath": "csrc"
- },
- "VJ8Wg_d": {
- "icPath": "csrc"
- },
- "qn6Yx_d": {
- "icPath": "csrc"
- },
- "CjC7H_d": {
- "icPath": "csrc"
- },
- "ircEj_d": {
- "icPath": "csrc"
- },
- "EZF3t_d": {
- "icPath": "csrc"
- },
- "N1ndr_d": {
- "icPath": "csrc"
- },
- "zVfcK_d": {
- "icPath": "csrc"
- },
- "dviib_d": {
- "icPath": "csrc"
- },
- "ebe78_d": {
- "icPath": "csrc"
- },
- "UxPrL_d": {
- "icPath": "csrc"
- },
- "psjSY_d": {
- "icPath": "csrc"
- },
- "qePm9_d": {
- "icPath": "csrc"
- },
- "LSxxn_d": {
- "icPath": "csrc"
- },
- "VSdee_d": {
- "icPath": "csrc"
- },
- "zIUFF_d": {
- "icPath": "csrc"
- },
- "ZmPik_d": {
- "icPath": "csrc"
- },
- "fMI2k_d": {
- "icPath": "csrc"
- },
- "bEAZ8_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {
- "FgDcH_d": {
- "mode": 4,
- "bytes": 247526,
- "mod": "_vcs_unit__348857874",
- "out": "FgDcH_d.o",
- "archive": "archive.1/_64094_archive_1.a",
- "text": 88377,
- "checksum": 0,
- "cls": 87541
- }
- },
- "Modules": {
- "PRUW16SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0218889713287354,
- 1.8423959999999999,
- 0.161304,
- 323088,
- 323460,
- 1773479967.818311,
- 70083385584149250
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0236890316009521,
- 1.8432219999999999,
- 0.162412,
- 323088,
- 323460,
- 70083385589293096,
- 304942678017,
- 0
- ],
- "nMops": 349
- },
- "PDB3AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0246360301971436,
- 1.844104,
- 0.16253600000000001,
- 323088,
- 323460,
- 1773479967.821058,
- 70083385591937042
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0252749919891357,
- 1.844104,
- 0.16323399999999999,
- 323088,
- 323460,
- 70083385593783244,
- 38654705665,
- 0
- ],
- "nMops": 5
- },
- "_vcs_unit__348857874": {
- "start_perf": [
- 1.9105210304260254,
- 1.7359149999999999,
- 0.14938399999999999,
- 321120,
- 323460,
- 1773479967.706943,
- 70083385268294832
- ],
- "Compiled": "Yes",
- "nQuads": 5582,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 129,
- "end_perf": [
- 2.0046820640563965,
- 1.8259110000000001,
- 0.15905900000000001,
- 323088,
- 323460,
- 70083385535391354,
- 4294967297,
- 0
- ],
- "svclass": [
- "BinaryDataReader",
- 4304,
- 507,
- 4,
- 4,
- 4294969709,
- "spi_item",
- 25578,
- 3405,
- 10,
- 9,
- 4294969785,
- "spi_driver",
- 18975,
- 2279,
- 44,
- 4,
- 4294969964,
- "DataReader",
- 2982,
- 297,
- 4,
- 4,
- 4294970137,
- "lvds_item",
- 4769,
- 529,
- 5,
- 5,
- 4294970174,
- "lvds_driver",
- 30933,
- 3663,
- 44,
- 20,
- 4294970216
- ],
- "nMops": 21474
- },
- "...MASTER...": {
- "start_perf": [
- 1.8347709178924561,
- 1.682831,
- 0.13050999999999999,
- 321096,
- 323460,
- 1773479967.6311929,
- 70083385053437532
- ],
- "nQuads": 6,
- "child_modules": {
- "PVSS1AC_V_G": 1,
- "PDDW08SDGZ_H_G": 1,
- "PDDW04DGZ_H_G": 1,
- "PVSS2DGZ_H_G": 1,
- "PDUW04DGZ_V_G": 1,
- "PDDW04DGZ_V_G": 1,
- "PVDD3AC_V_G": 1,
- "PRDW12SDGZ_H_G": 1,
- "PVDD2POC_H_G": 1,
- "TB": 1,
- "PVDD1A_H_G": 1,
- "PVSS3DGZ_H_G": 1,
- "sirv_gnrl_xchecker": 1,
- "PVSS1ANA_H_G": 1,
- "reset_tb": 1,
- "PVSS1DGZ_H_G": 1,
- "PVSS2A_H_G": 1,
- "PDDW04SDGZ_H_G": 1,
- "PDDW12SDGZ_H_G": 1,
- "PVDD1DGZ_V_G": 1,
- "PVDD3A_V_G": 1,
- "PDB3A_V_G": 1,
- "PRDW16DGZ_V_G": 1,
- "PRUW12SDGZ_V_G": 1,
- "PRDW12SDGZ_V_G": 1,
- "PDXOEDG_V_G": 1,
- "PDUW16DGZ_V_G": 1,
- "PVSS1ANA_V_G": 1,
- "PDUW04SDGZ_H_G": 1,
- "_vcs_unit__348857874": 1,
- "PVSS1A_V_G": 1,
- "PDUW04DGZ_H_G": 1,
- "PVDD2DGZ_H_G": 1,
- "PRUW08DGZ_V_G": 1,
- "PVDD2ANA_H_G": 1,
- "PRCUT_G": 1,
- "PRDW12DGZ_H_G": 1,
- "PDDW16DGZ_H_G": 1,
- "PVSS3AC_V_G": 1,
- "PVDD1AC_V_G": 1,
- "PVSS2ANA_V_G": 1,
- "PVSS2AC_H_G": 1,
- "clk_gen": 1,
- "PDUW16DGZ_H_G": 1,
- "PRUW16SDGZ_V_G": 1,
- "PDB3AC_V_G": 1,
- "PVSS2AC_V_G": 1,
- "PVSS1AC_H_G": 1,
- "PDUW12DGZ_H_G": 1,
- "PDDW16SDGZ_V_G": 1,
- "PDDW08DGZ_V_G": 1,
- "PVSS2A_V_G": 1,
- "PENDCAPA_G": 1,
- "PDB3A_H_G": 1,
- "PRUW16SDGZ_H_G": 1,
- "PRDW16DGZ_H_G": 1,
- "PVSS2ANA_H_G": 1,
- "PVSS1DGZ_V_G": 1,
- "PRDW08DGZ_V_G": 1,
- "PVSS1A_H_G": 1,
- "PRDW08DGZ_H_G": 1,
- "PVDD1DGZ_H_G": 1,
- "PVDD3AC_H_G": 1,
- "PRDW16SDGZ_V_G": 1,
- "PVSS3DGZ_V_G": 1,
- "PDXOEDG_H_G": 1,
- "PDUW16SDGZ_H_G": 1,
- "PVSS3A_H_G": 1,
- "PDB3AC_H_G": 1,
- "PDDW12DGZ_V_G": 1,
- "PRDW08SDGZ_V_G": 1,
- "PVSS2DGZ_V_G": 1,
- "PDDW08DGZ_H_G": 1,
- "PVDD1AC_H_G": 1,
- "PRUW08SDGZ_V_G": 1,
- "PVDD1ANA_V_G": 1,
- "PDDW16DGZ_V_G": 1,
- "PVDD3A_H_G": 1,
- "PVDD2ANA_V_G": 1,
- "PDUW12SDGZ_H_G": 1,
- "std": 1,
- "PCLAMP_G": 1,
- "PVDD2POC_V_G": 1,
- "PVDD2DGZ_V_G": 1,
- "PVSS3A_V_G": 1,
- "PRUW08DGZ_H_G": 1,
- "PRUW12DGZ_V_G": 1,
- "PRUW12DGZ_H_G": 1,
- "PRDW16SDGZ_H_G": 1,
- "PRUW08SDGZ_H_G": 1,
- "PDDW12DGZ_H_G": 1,
- "PVDD1A_V_G": 1,
- "sirv_gnrl_ltch": 1,
- "PRUW12SDGZ_H_G": 1,
- "PDUW16SDGZ_V_G": 1,
- "PRDW08SDGZ_H_G": 1,
- "PVSS3AC_H_G": 1,
- "PRUW16DGZ_V_G": 1,
- "PCLAMPC_V_G": 1,
- "sirv_gnrl_dffl": 1,
- "PRCUTA_G": 1,
- "PDUW12SDGZ_V_G": 1,
- "PDUW08DGZ_V_G": 1,
- "PVDD1ANA_H_G": 1,
- "PDDW08SDGZ_V_G": 1,
- "PDDW12SDGZ_V_G": 1,
- "PENDCAP_G": 1,
- "PDUW12DGZ_V_G": 1,
- "PRUW16DGZ_H_G": 1,
- "PCLAMPC_H_G": 1,
- "PDDW16SDGZ_H_G": 1,
- "PRDW12DGZ_V_G": 1,
- "PDUW08SDGZ_H_G": 1,
- "PDUW08DGZ_H_G": 1
- },
- "nRouts": 10,
- "end_perf": [
- 1.8528308868408203,
- 1.6851020000000001,
- 0.13733600000000001,
- 321104,
- 323460,
- 70083385104884284,
- 0,
- 0
- ],
- "nMops": 11
- },
- "da4008_chip_top": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8604719638824463,
- 1.6868210000000001,
- 0.14393,
- 321096,
- 323460,
- 1773479967.656894,
- 70083385126417882
- ],
- "nQuads": 5401,
- "child_modules": {
- "awg_top": 1,
- "systemregfile": 1,
- "DW_sync_0000": 1,
- "clk_regfile": 1,
- "spi_bus_decoder_0000": 1,
- "dac_regfile": 1,
- "DEM_PhaseSync_4008": 1,
- "sram_if": 1,
- "iopad": 1,
- "ramp_gen_0000": 1,
- "dacif_0000": 1,
- "pulse_generator": 1,
- "sram_if_0000": 4,
- "ulink_rx": 1,
- "DW_pulse_sync_0000": 4,
- "rst_gen_unit": 1,
- "spi_slave": 1
- },
- "Compiled Times": 2,
- "nRouts": 913,
- "end_perf": [
- 1.9104549884796143,
- 1.7358479999999998,
- 0.14937800000000001,
- 321120,
- 323460,
- 70083385268158750,
- 652835028993,
- 0
- ],
- "nMops": 17503
- },
- "DW_sync_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0047380924224854,
- 1.825968,
- 0.15906400000000001,
- 323088,
- 323460,
- 1773479967.8011601,
- 70083385535503416
- ],
- "nQuads": 542,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 66,
- "end_perf": [
- 2.0087599754333496,
- 1.8292440000000001,
- 0.16015399999999999,
- 323088,
- 323460,
- 70083385546954436,
- 712964571137,
- 0
- ],
- "nMops": 1210
- },
- "sirv_gnrl_xchecker": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0087990760803223,
- 1.829283,
- 0.16015699999999999,
- 323088,
- 323460,
- 1773479967.8052211,
- 70083385547021488
- ],
- "nQuads": 108,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 25,
- "end_perf": [
- 2.0108110904693604,
- 1.830387,
- 0.161248,
- 323088,
- 323460,
- 70083385552762860,
- 549755813889,
- 0
- ],
- "nMops": 136
- },
- "PVSS3A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0279619693756104,
- 1.8449179999999998,
- 0.165349,
- 323088,
- 323460,
- 1773479967.824384,
- 70083385601368974
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0285539627075195,
- 1.845154,
- 0.16575799999999999,
- 323088,
- 323460,
- 70083385603075408,
- 459561500673,
- 0
- ],
- "nMops": 5
- },
- "PVDD2DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0260200500488281,
- 1.8446180000000001,
- 0.16353000000000001,
- 323088,
- 323460,
- 1773479967.8224421,
- 70083385595861412
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0266458988189697,
- 1.8446180000000001,
- 0.164212,
- 323088,
- 323460,
- 70083385597666752,
- 356482285569,
- 0
- ],
- "nMops": 5
- },
- "PDDW08SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0108439922332764,
- 1.8304200000000002,
- 0.16125100000000001,
- 323088,
- 323460,
- 1773479967.807266,
- 70083385552821464
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0128378868103027,
- 1.8325749999999998,
- 0.16125100000000001,
- 323088,
- 323460,
- 70083385558518500,
- 73014444033,
- 0
- ],
- "nMops": 349
- },
- "PVSS2A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.027318000793457,
- 1.8449179999999998,
- 0.16464599999999999,
- 323088,
- 323460,
- 1773479967.82374,
- 70083385599543894
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0279340744018555,
- 1.8449179999999998,
- 0.16531799999999999,
- 323088,
- 323460,
- 70083385601317494,
- 425201762305,
- 0
- ],
- "nMops": 5
- },
- "PDDW16SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0128729343414307,
- 1.8326120000000001,
- 0.16125200000000001,
- 323088,
- 323460,
- 1773479967.8092949,
- 70083385558578320
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0146450996398926,
- 1.834544,
- 0.16125200000000001,
- 323088,
- 323460,
- 70083385563641204,
- 107374182401,
- 0
- ],
- "nMops": 349
- },
- "PDUW08SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.014678955078125,
- 1.8345820000000002,
- 0.16125200000000001,
- 323088,
- 323460,
- 1773479967.811101,
- 70083385563702490
- ],
- "nQuads": 151,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 25,
- "end_perf": [
- 2.0164229869842529,
- 1.836435,
- 0.161301,
- 323088,
- 323460,
- 70083385568679394,
- 141733920769,
- 0
- ],
- "nMops": 361
- },
- "PDUW16SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0164549350738525,
- 1.836468,
- 0.161304,
- 323088,
- 323460,
- 1773479967.8128769,
- 70083385568741114
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0182790756225586,
- 1.838457,
- 0.161304,
- 323088,
- 323460,
- 70083385573946664,
- 176093659137,
- 0
- ],
- "nMops": 349
- },
- "PRUW08SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0200920104980469,
- 1.840435,
- 0.161304,
- 323088,
- 323460,
- 1773479967.816514,
- 70083385579052460
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0218560695648193,
- 1.8423590000000001,
- 0.161304,
- 323088,
- 323460,
- 70083385584091058,
- 270582939649,
- 0
- ],
- "nMops": 349
- },
- "PRDW12SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.018312931060791,
- 1.838495,
- 0.161304,
- 323088,
- 323460,
- 1773479967.8147349,
- 70083385574010050
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0200610160827637,
- 1.8404020000000001,
- 0.161304,
- 323088,
- 323460,
- 70083385578993282,
- 236223201281,
- 0
- ],
- "nMops": 349
- },
- "PDXOEDG_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0237228870391846,
- 1.8432569999999999,
- 0.162415,
- 323088,
- 323460,
- 1773479967.8201449,
- 70083385589349930
- ],
- "nQuads": 24,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 11,
- "end_perf": [
- 2.0245940685272217,
- 1.844104,
- 0.16249,
- 323088,
- 323460,
- 70083385591884000,
- 184683593729,
- 0
- ],
- "nMops": 43
- },
- "PVDD1AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0253050327301025,
- 1.844104,
- 0.163267,
- 323088,
- 323460,
- 1773479967.821727,
- 70083385593838028
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0259900093078613,
- 1.844589,
- 0.16352700000000001,
- 323088,
- 323460,
- 70083385595809114,
- 322122547201,
- 0
- ],
- "nMops": 5
- },
- "PVSS1A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0266740322113037,
- 1.8446180000000001,
- 0.164243,
- 323088,
- 323460,
- 1773479967.823096,
- 70083385597716432
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0272889137268066,
- 1.8448880000000001,
- 0.16464400000000001,
- 323088,
- 323460,
- 70083385599490268,
- 390842023937,
- 0
- ],
- "nMops": 5
- },
- "sram_if_0002": {
- "Compiled": "Yes",
- "start_perf": [
- 2.028580904006958,
- 1.8451819999999999,
- 0.16576099999999999,
- 323088,
- 323460,
- 1773479967.8250029,
- 70083385603160638
- ],
- "nQuads": 30,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 13,
- "end_perf": [
- 2.0296649932861328,
- 1.8463259999999999,
- 0.16576099999999999,
- 323088,
- 323460,
- 70083385606237580,
- 605590388737,
- 0
- ],
- "nMops": 65
- }
- },
- "ObjArchives": [
- {
- "archive": "archive.1/_64094_archive_1.a",
- "objects": [
- [
- "FgDcH_d.o",
- 247526
- ],
- [
- "amcQwB.o",
- 141522
- ]
- ],
- "size": 389048
- }
- ],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 1.8735040000000001,
- "ru_nivcsw": 22,
- "ru_majflt": 0,
- "ru_stime_sec": 0.17577699999999999,
- "ru_nvcsw": 107,
- "ru_maxrss_kb": 118196,
- "ru_minflt": 51565
- },
- "ru_childs_end": {
- "ru_utime_sec": 1.1946319999999999,
- "ru_nivcsw": 36,
- "ru_majflt": 0,
- "ru_stime_sec": 0.31574000000000002,
- "ru_nvcsw": 198,
- "ru_maxrss_kb": 65388,
- "ru_minflt": 64354
- },
- "cpu_cycles_end": 70083385818579956,
- "peak_mem_kb": 323460
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64118.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64118.json
deleted file mode 100644
index 560bd44..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64118.json
+++ /dev/null
@@ -1,648 +0,0 @@
-{
- "reusePaths": {
- "Q3Wk7_d": {
- "icPath": "csrc"
- },
- "bhWYh_d": {
- "icPath": "csrc"
- },
- "atFKr_d": {
- "icPath": "csrc"
- },
- "UJ4u7_d": {
- "icPath": "csrc"
- },
- "YTwQz_d": {
- "icPath": "csrc"
- },
- "jAdLC_d": {
- "icPath": "csrc"
- },
- "dc6nH_d": {
- "icPath": "csrc"
- },
- "HYpLe_d": {
- "icPath": "csrc"
- },
- "reYIK_d": {
- "icPath": "csrc"
- },
- "Z62Gy_d": {
- "icPath": "csrc"
- },
- "swWa5_d": {
- "icPath": "csrc"
- },
- "EEqKt_d": {
- "icPath": "csrc"
- },
- "hpMjC_d": {
- "icPath": "csrc"
- },
- "fEWTj_d": {
- "icPath": "csrc"
- },
- "IHYdB_d": {
- "icPath": "csrc"
- },
- "TqmdJ_d": {
- "icPath": "csrc"
- },
- "avdwk_d": {
- "icPath": "csrc"
- },
- "EZJLH_d": {
- "icPath": "csrc"
- },
- "B0f3F_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "PDDW04DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0115668773651123,
- 0.152589,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8079889,
- 70083385554876644
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0135390758514404,
- 0.15473899999999999,
- 0.017564,
- 321120,
- 321124,
- 70083385560502378,
- 42949672961,
- 0
- ],
- "nMops": 349
- },
- "PVSS1AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0289120674133301,
- 0.169654,
- 0.019387000000000001,
- 321120,
- 321124,
- 1773479967.8253341,
- 70083385604066292
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0295729637145996,
- 0.170018,
- 0.019744000000000001,
- 321120,
- 321124,
- 70083385605967530,
- 395136991233,
- 0
- ],
- "nMops": 5
- },
- "PDUW12DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0173249244689941,
- 0.15887000000000001,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8137469,
- 70083385571204814
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0191459655761719,
- 0.160857,
- 0.017564,
- 321120,
- 321124,
- 70083385576403796,
- 146028888065,
- 0
- ],
- "nMops": 349
- },
- "PRUW12DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0228331089019775,
- 0.164878,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8192551,
- 70083385586825920
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0246460437774658,
- 0.166823,
- 0.017564,
- 321120,
- 321124,
- 70083385592006664,
- 274877906945,
- 0
- ],
- "nMops": 349
- },
- "tsdn28hpcpuhdb4096x128m4mw_170a": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8560850620269775,
- 0.00053600000000000002,
- 0.0,
- 321096,
- 321096,
- 1773479967.6525071,
- 70083385114045260
- ],
- "nQuads": 23278,
- "child_modules": {
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": 1
- },
- "Compiled Times": 2,
- "nRouts": 2254,
- "end_perf": [
- 1.9734809398651123,
- 0.115413,
- 0.01319,
- 321120,
- 321120,
- 70083385446895036,
- 481036337153,
- 0
- ],
- "nMops": 61050
- },
- "clk_regfile": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9735369682312012,
- 0.115469,
- 0.013195999999999999,
- 321120,
- 321120,
- 1773479967.769959,
- 70083385447005472
- ],
- "nQuads": 5441,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 674,
- "end_perf": [
- 1.9985220432281494,
- 0.13944999999999999,
- 0.016469999999999999,
- 321120,
- 321124,
- 70083385517940104,
- 627065225217,
- 0
- ],
- "nMops": 15415
- },
- "sram_dmux_w_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9985730648040771,
- 0.13950099999999999,
- 0.016476000000000001,
- 321120,
- 321124,
- 1773479967.7949951,
- 70083385518020638
- ],
- "nQuads": 2180,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 268,
- "end_perf": [
- 2.0089349746704102,
- 0.149787,
- 0.017493000000000002,
- 321120,
- 321124,
- 70083385547456466,
- 609885356033,
- 0
- ],
- "nMops": 5910
- },
- "std": {
- "start_perf": [
- 2.008976936340332,
- 0.14982899999999999,
- 0.017498,
- 321120,
- 321124,
- 1773479967.8053989,
- 70083385547532858
- ],
- "Compiled": "Yes",
- "nQuads": 224,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 36,
- "end_perf": [
- 2.0115189552307129,
- 0.15254100000000001,
- 0.017558000000000001,
- 321120,
- 321124,
- 70083385554796088,
- 8589934594,
- 0
- ],
- "svclass": [
- "$vcs_nba_dyn_obj",
- 0,
- 35,
- 2,
- 2,
- 0,
- "sigprop$$",
- 0,
- 35,
- 2,
- 2,
- 0,
- "process",
- 0,
- 200,
- 8,
- 8,
- 0,
- "event",
- 0,
- 34,
- 2,
- 2,
- 0,
- "mailbox",
- 0,
- 140,
- 9,
- 9,
- 0,
- "semaphore",
- 0,
- 84,
- 5,
- 5,
- 0
- ],
- "nMops": 533
- },
- "PDUW04DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0154459476470947,
- 0.15681999999999999,
- 0.017564,
- 321120,
- 321124,
- 1773479967.811868,
- 70083385565879200
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0172948837280273,
- 0.158836,
- 0.017564,
- 321120,
- 321124,
- 70083385571147634,
- 111669149697,
- 0
- ],
- "nMops": 349
- },
- "PDDW12DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0135729312896729,
- 0.154777,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8099949,
- 70083385560563292
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0154130458831787,
- 0.15678400000000001,
- 0.017564,
- 321120,
- 321124,
- 70083385565814768,
- 77309411329,
- 0
- ],
- "nMops": 349
- },
- "PRDW16DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0210020542144775,
- 0.162881,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8174241,
- 70083385581632478
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0227980613708496,
- 0.16484099999999999,
- 0.017564,
- 321120,
- 321124,
- 70083385586769150,
- 240518168577,
- 0
- ],
- "nMops": 349
- },
- "PRDW08DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.019179105758667,
- 0.16089200000000001,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8156011,
- 70083385576461176
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.020967960357666,
- 0.16284299999999999,
- 0.017564,
- 321120,
- 321124,
- 70083385581573888,
- 206158430209,
- 0
- ],
- "nMops": 349
- },
- "reset_tb": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0246798992156982,
- 0.16686000000000001,
- 0.017564,
- 321120,
- 321124,
- 1773479967.8211019,
- 70083385592064148
- ],
- "nQuads": 48,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 13,
- "end_perf": [
- 2.0257720947265625,
- 0.16805100000000001,
- 0.017564,
- 321120,
- 321124,
- 70083385595197388,
- 700079669249,
- 0
- ],
- "nMops": 74
- },
- "spi_if": {
- "start_perf": [
- 2.0258040428161621,
- 0.16808600000000001,
- 0.017564,
- 321120,
- 321124,
- 1773479967.822226,
- 70083385595255524
- ],
- "Compiled": "Yes",
- "nQuads": 12,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 10,
- "end_perf": [
- 2.0267369747161865,
- 0.16811000000000001,
- 0.018557000000000001,
- 321120,
- 321124,
- 70083385597928036,
- 682899800065,
- 0
- ],
- "svclass": [
- "spi_if_vcs_virt_intf_C",
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- "nMops": 24
- },
- "PVDD2POC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0282270908355713,
- 0.169654,
- 0.01864,
- 321120,
- 321124,
- 1773479967.8246491,
- 70083385602125402
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0288760662078857,
- 0.169654,
- 0.019347,
- 321120,
- 321124,
- 70083385604010682,
- 360777252865,
- 0
- ],
- "nMops": 5
- },
- "PENDCAP_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0267689228057861,
- 0.16814200000000001,
- 0.018561000000000001,
- 321120,
- 321124,
- 1773479967.8231909,
- 70083385597991372
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0274639129638672,
- 0.168825,
- 0.018636,
- 321120,
- 321124,
- 70083385600005642,
- 188978561025,
- 0
- ],
- "nMops": 5
- },
- "PVDD1ANA_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.027501106262207,
- 0.16886100000000001,
- 0.01864,
- 321120,
- 321124,
- 1773479967.8239231,
- 70083385600084354
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0281999111175537,
- 0.169623,
- 0.01864,
- 321120,
- 321124,
- 70083385602071890,
- 326417514497,
- 0
- ],
- "nMops": 5
- },
- "PVSS2AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0296149253845215,
- 0.170018,
- 0.019789000000000001,
- 321120,
- 321124,
- 1773479967.8260369,
- 70083385606066870
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0301990509033203,
- 0.170018,
- 0.020426,
- 321120,
- 321124,
- 70083385607742100,
- 429496729601,
- 0
- ],
- "nMops": 5
- },
- "PVSS3AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0302259922027588,
- 0.170018,
- 0.020455999999999998,
- 321120,
- 321124,
- 1773479967.826648,
- 70083385607792598
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0308399200439453,
- 0.17039099999999999,
- 0.020752,
- 321120,
- 321124,
- 70083385609558922,
- 463856467969,
- 0
- ],
- "nMops": 5
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.17053599999999999,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.02077,
- "ru_nvcsw": 1,
- "ru_maxrss_kb": 60452,
- "ru_minflt": 6298
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385609936994,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64119.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64119.json
deleted file mode 100644
index 247334e..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64119.json
+++ /dev/null
@@ -1,608 +0,0 @@
-{
- "reusePaths": {
- "sZaSM_d": {
- "icPath": "csrc"
- },
- "yeRHW_d": {
- "icPath": "csrc"
- },
- "bghMB_d": {
- "icPath": "csrc"
- },
- "i0k2A_d": {
- "icPath": "csrc"
- },
- "eR5Zz_d": {
- "icPath": "csrc"
- },
- "AyqFm_d": {
- "icPath": "csrc"
- },
- "BL1m7_d": {
- "icPath": "csrc"
- },
- "aJYLF_d": {
- "icPath": "csrc"
- },
- "BM4bj_d": {
- "icPath": "csrc"
- },
- "QGhk6_d": {
- "icPath": "csrc"
- },
- "NkwYe_d": {
- "icPath": "csrc"
- },
- "Jztd6_d": {
- "icPath": "csrc"
- },
- "nS0i0_d": {
- "icPath": "csrc"
- },
- "ZZxj5_d": {
- "icPath": "csrc"
- },
- "pucZW_d": {
- "icPath": "csrc"
- },
- "urn8Q_d": {
- "icPath": "csrc"
- },
- "wpYca_d": {
- "icPath": "csrc"
- },
- "I7RzE_d": {
- "icPath": "csrc"
- },
- "YBQ1m_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "dacif_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8578789234161377,
- 0.0,
- 0.001103,
- 321096,
- 321096,
- 1773479967.6543009,
- 70083385119457252
- ],
- "nQuads": 16245,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 2597,
- "end_perf": [
- 1.9472570419311523,
- 0.086514999999999995,
- 0.012045999999999999,
- 321120,
- 321120,
- 70083385372548748,
- 498216206337,
- 0
- ],
- "nMops": 43142
- },
- "ramp_gen_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9473209381103516,
- 0.086577000000000001,
- 0.012055,
- 321120,
- 321120,
- 1773479967.7437429,
- 70083385372657430
- ],
- "nQuads": 11555,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 783,
- "end_perf": [
- 2.0077390670776367,
- 0.15248700000000001,
- 0.012055,
- 321120,
- 321124,
- 70083385544094966,
- 597000454145,
- 0
- ],
- "nMops": 40957
- },
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0077929496765137,
- 0.15254599999999999,
- 0.012055,
- 321120,
- 321124,
- 1773479967.804215,
- 70083385544170496
- ],
- "nQuads": 1663,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 65,
- "end_perf": [
- 2.0180690288543701,
- 0.16375600000000001,
- 0.012055,
- 321120,
- 321124,
- 70083385573354080,
- 485331304449,
- 0
- ],
- "nMops": 5779
- },
- "sirv_gnrl_dffl": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0351779460906982,
- 0.18132999999999999,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8316,
- 70083385621843560
- ],
- "nQuads": 96,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 25,
- "end_perf": [
- 2.0367250442504883,
- 0.18301700000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385626268396,
- 571230650369,
- 0
- ],
- "nMops": 172
- },
- "PDDW12DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0241880416870117,
- 0.170432,
- 0.012055,
- 321120,
- 321124,
- 1773479967.82061,
- 70083385590670596
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0259950160980225,
- 0.172402,
- 0.012055,
- 321120,
- 321124,
- 70083385595831472,
- 81604378625,
- 0
- ],
- "nMops": 349
- },
- "pulse_generator": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0181059837341309,
- 0.163796,
- 0.012055,
- 321120,
- 321124,
- 1773479967.814528,
- 70083385573421496
- ],
- "nQuads": 675,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 70,
- "end_perf": [
- 2.0220060348510742,
- 0.16805100000000001,
- 0.012055,
- 321120,
- 321124,
- 70083385584525382,
- 554050781185,
- 0
- ],
- "nMops": 1336
- },
- "PDUW04DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0260279178619385,
- 0.17244000000000001,
- 0.012055,
- 321120,
- 321124,
- 1773479967.8224499,
- 70083385595892790
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0278160572052002,
- 0.17438999999999999,
- 0.012055,
- 321120,
- 321124,
- 70083385600996434,
- 115964116993,
- 0
- ],
- "nMops": 349
- },
- "PDDW04DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.022042989730835,
- 0.16809199999999999,
- 0.012055,
- 321120,
- 321124,
- 1773479967.818465,
- 70083385584589298
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0241529941558838,
- 0.17039399999999999,
- 0.012055,
- 321120,
- 321124,
- 70083385590613132,
- 47244640257,
- 0
- ],
- "nMops": 349
- },
- "PDUW12DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0278489589691162,
- 0.174426,
- 0.012055,
- 321120,
- 321124,
- 1773479967.824271,
- 70083385601058404
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0297040939331055,
- 0.17542199999999999,
- 0.013074000000000001,
- 321120,
- 321124,
- 70083385606349122,
- 150323855361,
- 0
- ],
- "nMops": 349
- },
- "PRDW08DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0297360420227051,
- 0.175455,
- 0.013077,
- 321120,
- 321124,
- 1773479967.826158,
- 70083385606410784
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.031519889831543,
- 0.177342,
- 0.013136,
- 321120,
- 321124,
- 70083385611521108,
- 210453397505,
- 0
- ],
- "nMops": 349
- },
- "PRDW16DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0315608978271484,
- 0.17738399999999999,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8279829,
- 70083385611585196
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0333530902862549,
- 0.179339,
- 0.013139,
- 321120,
- 321124,
- 70083385616697102,
- 244813135873,
- 0
- ],
- "nMops": 349
- },
- "PRUW12DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0333850383758545,
- 0.179373,
- 0.013139,
- 321120,
- 321124,
- 1773479967.829807,
- 70083385616757732
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.035146951675415,
- 0.18129500000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385621784242,
- 279172874241,
- 0
- ],
- "nMops": 349
- },
- "lvds_if": {
- "start_perf": [
- 2.0367588996887207,
- 0.18305399999999999,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8331809,
- 70083385626324620
- ],
- "Compiled": "Yes",
- "nQuads": 12,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 10,
- "end_perf": [
- 2.0377650260925293,
- 0.18415100000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385629206100,
- 721554505729,
- 0
- ],
- "svclass": [
- "lvds_if_vcs_virt_intf_C",
- 0,
- 0,
- 0,
- 0,
- 0
- ],
- "nMops": 24
- },
- "PENDCAPA_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0377969741821289,
- 0.18418699999999999,
- 0.013139,
- 321120,
- 321124,
- 1773479967.834219,
- 70083385629269842
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0384280681610107,
- 0.18487500000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385631087666,
- 193273528321,
- 0
- ],
- "nMops": 5
- },
- "PVDD1ANA_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0384581089019775,
- 0.18490699999999999,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8348801,
- 70083385631143976
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0390989780426025,
- 0.18560699999999999,
- 0.013139,
- 321120,
- 321124,
- 70083385632988720,
- 330712481793,
- 0
- ],
- "nMops": 5
- },
- "PVDD2POC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0391280651092529,
- 0.185638,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8355501,
- 70083385633040572
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0397439002990723,
- 0.186311,
- 0.013139,
- 321120,
- 321124,
- 70083385634814062,
- 365072220161,
- 0
- ],
- "nMops": 5
- },
- "PVSS1AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0397710800170898,
- 0.18634000000000001,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8361931,
- 70083385634862896
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0403969287872314,
- 0.18702299999999999,
- 0.013139,
- 321120,
- 321124,
- 70083385636666758,
- 399431958529,
- 0
- ],
- "nMops": 5
- },
- "PVSS2AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0404250621795654,
- 0.187053,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8368471,
- 70083385636719416
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0410199165344238,
- 0.18770200000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385638432136,
- 433791696897,
- 0
- ],
- "nMops": 5
- },
- "PVSS3AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0410459041595459,
- 0.18773100000000001,
- 0.013139,
- 321120,
- 321124,
- 1773479967.8374679,
- 70083385638479932
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0416350364685059,
- 0.18837400000000001,
- 0.013139,
- 321120,
- 321124,
- 70083385640177244,
- 468151435265,
- 0
- ],
- "nMops": 5
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.18851499999999999,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.013139,
- "ru_nvcsw": 2,
- "ru_maxrss_kb": 60172,
- "ru_minflt": 6184
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385640505890,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64120.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64120.json
deleted file mode 100644
index 87177ad..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64120.json
+++ /dev/null
@@ -1,602 +0,0 @@
-{
- "reusePaths": {
- "wGYhm_d": {
- "icPath": "csrc"
- },
- "LR0zI_d": {
- "icPath": "csrc"
- },
- "EkH6u_d": {
- "icPath": "csrc"
- },
- "qcK8J_d": {
- "icPath": "csrc"
- },
- "qLaCg_d": {
- "icPath": "csrc"
- },
- "uKPxf_d": {
- "icPath": "csrc"
- },
- "uQmb5_d": {
- "icPath": "csrc"
- },
- "HtwuV_d": {
- "icPath": "csrc"
- },
- "q09PC_d": {
- "icPath": "csrc"
- },
- "Eie6s_d": {
- "icPath": "csrc"
- },
- "CQ4ek_d": {
- "icPath": "csrc"
- },
- "UTi0b_d": {
- "icPath": "csrc"
- },
- "KpuhN_d": {
- "icPath": "csrc"
- },
- "S90qD_d": {
- "icPath": "csrc"
- },
- "V63WF_d": {
- "icPath": "csrc"
- },
- "UyGax_d": {
- "icPath": "csrc"
- },
- "DTJPF_d": {
- "icPath": "csrc"
- },
- "g8kcb_d": {
- "icPath": "csrc"
- },
- "rq1J0_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "dac_regfile": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8584680557250977,
- 0.0,
- 0.00097900000000000005,
- 321096,
- 321096,
- 1773479967.6548901,
- 70083385121274100
- ],
- "nQuads": 9772,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 1225,
- "end_perf": [
- 1.9300410747528076,
- 0.057159000000000001,
- 0.021569000000000001,
- 321120,
- 321120,
- 70083385323708878,
- 506806140929,
- 0
- ],
- "nMops": 29286
- },
- "PDUW04SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9791638851165771,
- 0.106241,
- 0.026075999999999998,
- 321120,
- 321124,
- 1773479967.7755859,
- 70083385462967278
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9833829402923584,
- 0.109469,
- 0.027095999999999999,
- 321120,
- 321124,
- 70083385475116752,
- 120259084289,
- 0
- ],
- "nMops": 349
- },
- "spi_bus_decoder_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9615941047668457,
- 0.089214000000000002,
- 0.023935000000000001,
- 321120,
- 321124,
- 1773479967.7580161,
- 70083385413173480
- ],
- "nQuads": 2554,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 394,
- "end_perf": [
- 1.974247932434082,
- 0.100912,
- 0.026041999999999999,
- 321120,
- 321124,
- 70083385449073358,
- 661424963585,
- 0
- ],
- "nMops": 6444
- },
- "systemregfile": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9300990104675293,
- 0.057204999999999999,
- 0.021586999999999999,
- 321120,
- 321120,
- 1773479967.726521,
- 70083385323804544
- ],
- "nQuads": 6948,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 881,
- "end_perf": [
- 1.9615480899810791,
- 0.089174000000000003,
- 0.023924000000000001,
- 321120,
- 321124,
- 70083385413059624,
- 493921239041,
- 0
- ],
- "nMops": 18207
- },
- "DA4008_DEM_Parallel_PRBS_64CH": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9742910861968994,
- 0.10095,
- 0.026051000000000001,
- 321120,
- 321124,
- 1773479967.7707131,
- 70083385449145434
- ],
- "nQuads": 6,
- "child_modules": {
- "DA4008_DEM_Parallel_PRBS_1CH": 64
- },
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 1.9753179550170898,
- 0.102063,
- 0.026058000000000001,
- 321120,
- 321124,
- 70083385452084192,
- 648540061697,
- 0
- ],
- "nMops": 5
- },
- "PDDW12SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9773900508880615,
- 0.104306,
- 0.026075999999999998,
- 321120,
- 321124,
- 1773479967.7738121,
- 70083385457935786
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9791319370269775,
- 0.10620599999999999,
- 0.026075999999999998,
- 321120,
- 321124,
- 70083385462909544,
- 85899345921,
- 0
- ],
- "nMops": 349
- },
- "PDDW04SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9753479957580566,
- 0.10209,
- 0.026065000000000001,
- 321120,
- 321124,
- 1773479967.77177,
- 70083385452138454
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9773569107055664,
- 0.10427599999999999,
- 0.026068999999999998,
- 321120,
- 321124,
- 70083385457876786,
- 51539607553,
- 0
- ],
- "nMops": 349
- },
- "PCLAMPC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0058069229125977,
- 0.12840699999999999,
- 0.030469,
- 321120,
- 321124,
- 1773479967.8022289,
- 70083385538537784
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0065619945526123,
- 0.129051,
- 0.030622,
- 321120,
- 321124,
- 70083385540704292,
- 17179869185,
- 0
- ],
- "nMops": 5
- },
- "sirv_gnrl_ltch": {
- "Compiled": "Yes",
- "start_perf": [
- 2.004410982131958,
- 0.127827,
- 0.029526,
- 321120,
- 321124,
- 1773479967.800833,
- 70083385534575090
- ],
- "nQuads": 72,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 17,
- "end_perf": [
- 2.005774974822998,
- 0.12837799999999999,
- 0.030461999999999999,
- 321120,
- 321124,
- 70083385538478346,
- 584115552257,
- 0
- ],
- "nMops": 147
- },
- "PDUW12SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9834809303283691,
- 0.109556,
- 0.027118,
- 321120,
- 321124,
- 1773479967.7799029,
- 70083385475294832
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.990156888961792,
- 0.115853,
- 0.027323,
- 321120,
- 321124,
- 70083385494316150,
- 154618822657,
- 0
- ],
- "nMops": 349
- },
- "PVDD3A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0079948902130127,
- 0.129608,
- 0.031585000000000002,
- 321120,
- 321124,
- 1773479967.8044169,
- 70083385544734596
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0086450576782227,
- 0.129608,
- 0.032294999999999997,
- 321120,
- 321124,
- 70083385546610572,
- 369367187457,
- 0
- ],
- "nMops": 5
- },
- "PRDW08SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9902439117431641,
- 0.11593199999999999,
- 0.027342000000000002,
- 321120,
- 321124,
- 1773479967.7866659,
- 70083385494444478
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9959549903869629,
- 0.12067899999999999,
- 0.028524000000000001,
- 321120,
- 321124,
- 70083385510784820,
- 214748364801,
- 0
- ],
- "nMops": 349
- },
- "PRDW16SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9960610866546631,
- 0.12077300000000001,
- 0.028545999999999998,
- 321120,
- 321124,
- 1773479967.7924831,
- 70083385510974368
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0024800300598145,
- 0.12572900000000001,
- 0.029517999999999999,
- 321120,
- 321124,
- 70083385529137104,
- 249108103169,
- 0
- ],
- "nMops": 349
- },
- "PRCUT_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0065920352935791,
- 0.129078,
- 0.030627999999999999,
- 321120,
- 321124,
- 1773479967.803014,
- 70083385540790878
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0073039531707764,
- 0.129078,
- 0.031362000000000001,
- 321120,
- 321124,
- 70083385542808662,
- 197568495617,
- 0
- ],
- "nMops": 5
- },
- "PRUW12SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0025138854980469,
- 0.12575900000000001,
- 0.029526,
- 321120,
- 321124,
- 1773479967.7989359,
- 70083385529214432
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0043759346008301,
- 0.12778900000000001,
- 0.029526,
- 321120,
- 321124,
- 70083385534516158,
- 283467841537,
- 0
- ],
- "nMops": 349
- },
- "PVDD1DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0073330402374268,
- 0.129078,
- 0.031393999999999998,
- 321120,
- 321124,
- 1773479967.803755,
- 70083385542859752
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0079669952392578,
- 0.129584,
- 0.031579000000000003,
- 321120,
- 321124,
- 70083385544685140,
- 335007449089,
- 0
- ],
- "nMops": 5
- },
- "PVSS1ANA_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0086739063262939,
- 0.129608,
- 0.032326000000000001,
- 321120,
- 321124,
- 1773479967.8050959,
- 70083385546660376
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0097448825836182,
- 0.13009000000000001,
- 0.032522000000000002,
- 321120,
- 321124,
- 70083385549726674,
- 403726925825,
- 0
- ],
- "nMops": 5
- },
- "PVSS2ANA_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0097730159759521,
- 0.13011400000000001,
- 0.032528000000000001,
- 321120,
- 321124,
- 1773479967.806195,
- 70083385549778774
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0103750228881836,
- 0.13063900000000001,
- 0.032659000000000001,
- 321120,
- 321124,
- 70083385551513078,
- 438086664193,
- 0
- ],
- "nMops": 5
- },
- "PVSS3DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0104019641876221,
- 0.130663,
- 0.032665,
- 321120,
- 321124,
- 1773479967.806824,
- 70083385551561608
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0110709667205811,
- 0.13139300000000001,
- 0.032665,
- 321120,
- 321124,
- 70083385553487370,
- 472446402561,
- 0
- ],
- "nMops": 5
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.13154199999999999,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.032665,
- "ru_nvcsw": 13,
- "ru_maxrss_kb": 59592,
- "ru_minflt": 5381
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385553830998,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64121.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64121.json
deleted file mode 100644
index 2d044a3..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64121.json
+++ /dev/null
@@ -1,607 +0,0 @@
-{
- "reusePaths": {
- "YnCHV_d": {
- "icPath": "csrc"
- },
- "yt645_d": {
- "icPath": "csrc"
- },
- "qCQFW_d": {
- "icPath": "csrc"
- },
- "J5zQK_d": {
- "icPath": "csrc"
- },
- "gzftm_d": {
- "icPath": "csrc"
- },
- "anuMN_d": {
- "icPath": "csrc"
- },
- "Pzaun_d": {
- "icPath": "csrc"
- },
- "J6fGD_d": {
- "icPath": "csrc"
- },
- "mJZpP_d": {
- "icPath": "csrc"
- },
- "qxEhc_d": {
- "icPath": "csrc"
- },
- "JznNw_d": {
- "icPath": "csrc"
- },
- "YRh5I_d": {
- "icPath": "csrc"
- },
- "EyyeT_d": {
- "icPath": "csrc"
- },
- "uuDJt_d": {
- "icPath": "csrc"
- },
- "sPggV_d": {
- "icPath": "csrc"
- },
- "t6fPF_d": {
- "icPath": "csrc"
- },
- "gL5Pd_d": {
- "icPath": "csrc"
- },
- "Md441_d": {
- "icPath": "csrc"
- },
- "IZu3i_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "DEM_Reverse_64CH_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8585898876190186,
- 0.00037399999999999998,
- 0.0,
- 321096,
- 321096,
- 1773479967.6550119,
- 70083385121151906
- ],
- "nQuads": 10851,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 1504,
- "end_perf": [
- 1.9302639961242676,
- 0.062198000000000003,
- 0.016368000000000001,
- 321120,
- 321120,
- 70083385324322700,
- 691489734657,
- 0
- ],
- "nMops": 32497
- },
- "ulink_descrambler_128": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0076189041137695,
- 0.14187,
- 0.017732999999999999,
- 321120,
- 321124,
- 1773479967.8040409,
- 70083385543758168
- ],
- "nQuads": 211,
- "child_modules": {
- "ulink_descrambler_32": 4
- },
- "Compiled Times": 2,
- "nRouts": 34,
- "end_perf": [
- 2.0132620334625244,
- 0.14699100000000001,
- 0.018787999999999999,
- 321120,
- 321124,
- 70083385559718296,
- 519691042817,
- 0
- ],
- "nMops": 453
- },
- "awg_top": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9303150177001953,
- 0.062243,
- 0.016379000000000001,
- 321120,
- 321120,
- 1773479967.726737,
- 70083385324409216
- ],
- "nQuads": 6143,
- "child_modules": {
- "dpram": 1,
- "sram_if_0001": 1,
- "sram_dmux_w_0000": 1,
- "sram_if_0002": 1
- },
- "Compiled Times": 2,
- "nRouts": 770,
- "end_perf": [
- 1.9700961112976074,
- 0.10412399999999999,
- 0.017354000000000001,
- 321120,
- 321124,
- 70083385437308084,
- 631360192513,
- 0
- ],
- "nMops": 16760
- },
- "PRDW08SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9934110641479492,
- 0.12770799999999999,
- 0.017464,
- 321120,
- 321124,
- 1773479967.7898331,
- 70083385503459996
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9997138977050781,
- 0.13398099999999999,
- 0.017571,
- 321120,
- 321124,
- 70083385521318540,
- 219043332097,
- 0
- ],
- "nMops": 349
- },
- "rst_gen_unit": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9781169891357422,
- 0.11286499999999999,
- 0.017363,
- 321120,
- 321124,
- 1773479967.774539,
- 70083385459996042
- ],
- "nQuads": 576,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 107,
- "end_perf": [
- 1.9816389083862305,
- 0.116704,
- 0.017363,
- 321120,
- 321124,
- 70083385470026978,
- 541165879297,
- 0
- ],
- "nMops": 1152
- },
- "syn_fwft_fifo": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9701430797576904,
- 0.104168,
- 0.017361000000000001,
- 321120,
- 321124,
- 1773479967.7665651,
- 70083385437378518
- ],
- "nQuads": 1370,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 165,
- "end_perf": [
- 1.9780769348144531,
- 0.11282300000000001,
- 0.017361000000000001,
- 321120,
- 321124,
- 70083385459932460,
- 502511173633,
- 0
- ],
- "nMops": 3886
- },
- "PRCUTA_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0141201019287109,
- 0.14702299999999999,
- 0.019692000000000001,
- 321120,
- 321124,
- 1773479967.8105421,
- 70083385562111804
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0148379802703857,
- 0.14766299999999999,
- 0.019834999999999998,
- 321120,
- 321124,
- 70083385564176368,
- 201863462913,
- 0
- ],
- "nMops": 5
- },
- "PDUW12SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9890620708465576,
- 0.123173,
- 0.017440000000000001,
- 321120,
- 321124,
- 1773479967.7854841,
- 70083385491040212
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9933099746704102,
- 0.127609,
- 0.01745,
- 321120,
- 321124,
- 70083385503272612,
- 158913789953,
- 0
- ],
- "nMops": 349
- },
- "PVSS2ANA_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0169188976287842,
- 0.14983299999999999,
- 0.019925999999999999,
- 321120,
- 321124,
- 1773479967.8133409,
- 70083385570047024
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0175590515136719,
- 0.150531,
- 0.019925999999999999,
- 321120,
- 321124,
- 70083385571888972,
- 442381631489,
- 0
- ],
- "nMops": 5
- },
- "PDDW04SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9816739559173584,
- 0.116742,
- 0.017363,
- 321120,
- 321124,
- 1773479967.778096,
- 70083385470087002
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9836668968200684,
- 0.11891500000000001,
- 0.017363,
- 321120,
- 321124,
- 70083385475774906,
- 55834574849,
- 0
- ],
- "nMops": 349
- },
- "PDUW04SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9854691028594971,
- 0.12082900000000001,
- 0.017416000000000001,
- 321120,
- 321124,
- 1773479967.7818911,
- 70083385480852090
- ],
- "nQuads": 151,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 25,
- "end_perf": [
- 1.9890270233154297,
- 0.123139,
- 0.017434999999999999,
- 321120,
- 321124,
- 70083385490982088,
- 124554051585,
- 0
- ],
- "nMops": 361
- },
- "PDDW12SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9837000370025635,
- 0.118952,
- 0.017363,
- 321120,
- 321124,
- 1773479967.780122,
- 70083385475829996
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9854369163513184,
- 0.120798,
- 0.017412,
- 321120,
- 321124,
- 70083385480792234,
- 90194313217,
- 0
- ],
- "nMops": 349
- },
- "PVSS3DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0175850391387939,
- 0.15056,
- 0.019927,
- 321120,
- 321124,
- 1773479967.814007,
- 70083385571937166
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0181689262390137,
- 0.151196,
- 0.019927,
- 321120,
- 321124,
- 70083385573619646,
- 476741369857,
- 0
- ],
- "nMops": 5
- },
- "PRDW16SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9997670650482178,
- 0.13403200000000001,
- 0.017578,
- 321120,
- 321124,
- 1773479967.7961891,
- 70083385521401766
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0033390522003174,
- 0.137597,
- 0.017611999999999999,
- 321120,
- 321124,
- 70083385531577510,
- 253403070465,
- 0
- ],
- "nMops": 349
- },
- "PCLAMPC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0132958889007568,
- 0.14702299999999999,
- 0.018792,
- 321120,
- 321124,
- 1773479967.8097179,
- 70083385559774430
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0140900611877441,
- 0.14702299999999999,
- 0.019657000000000001,
- 321120,
- 321124,
- 70083385562057148,
- 21474836481,
- 0
- ],
- "nMops": 5
- },
- "PVSS1ANA_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0161709785461426,
- 0.14902699999999999,
- 0.019925999999999999,
- 321120,
- 321124,
- 1773479967.812593,
- 70083385567927632
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0168890953063965,
- 0.14980099999999999,
- 0.019925999999999999,
- 321120,
- 321124,
- 70083385569990960,
- 408021893121,
- 0
- ],
- "nMops": 5
- },
- "PRUW12SDGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0033750534057617,
- 0.137631,
- 0.017616,
- 321120,
- 321124,
- 1773479967.7997971,
- 70083385531636022
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0074820518493652,
- 0.14175299999999999,
- 0.017718999999999999,
- 321120,
- 321124,
- 70083385543523312,
- 287762808833,
- 0
- ],
- "nMops": 349
- },
- "PVDD3A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0155389308929443,
- 0.148338,
- 0.019925999999999999,
- 321120,
- 321124,
- 1773479967.8119609,
- 70083385566135894
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0161440372467041,
- 0.14899699999999999,
- 0.019925999999999999,
- 321120,
- 321124,
- 70083385567876186,
- 373662154753,
- 0
- ],
- "nMops": 5
- },
- "PVDD1DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0148670673370361,
- 0.14769099999999999,
- 0.019838999999999999,
- 321120,
- 321124,
- 1773479967.8112891,
- 70083385564230184
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0155038833618164,
- 0.14830299999999999,
- 0.019921000000000001,
- 321120,
- 321124,
- 70083385566083854,
- 339302416385,
- 0
- ],
- "nMops": 5
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.151338,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.019927,
- "ru_nvcsw": 17,
- "ru_maxrss_kb": 60116,
- "ru_minflt": 5387
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385573945984,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64122.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64122.json
deleted file mode 100644
index 5adf40b..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64122.json
+++ /dev/null
@@ -1,611 +0,0 @@
-{
- "reusePaths": {
- "dfLHW_d": {
- "icPath": "csrc"
- },
- "U0PST_d": {
- "icPath": "csrc"
- },
- "KkPJH_d": {
- "icPath": "csrc"
- },
- "sIRhK_d": {
- "icPath": "csrc"
- },
- "GzkJA_d": {
- "icPath": "csrc"
- },
- "dteMU_d": {
- "icPath": "csrc"
- },
- "AVYgt_d": {
- "icPath": "csrc"
- },
- "NABmh_d": {
- "icPath": "csrc"
- },
- "bQxt6_d": {
- "icPath": "csrc"
- },
- "cQW1k_d": {
- "icPath": "csrc"
- },
- "C0gYT_d": {
- "icPath": "csrc"
- },
- "M7qR3_d": {
- "icPath": "csrc"
- },
- "VaZm2_d": {
- "icPath": "csrc"
- },
- "ga3jL_d": {
- "icPath": "csrc"
- },
- "fLemy_d": {
- "icPath": "csrc"
- },
- "zNPu5_d": {
- "icPath": "csrc"
- },
- "mZVHG_d": {
- "icPath": "csrc"
- },
- "Zp1LH_d": {
- "icPath": "csrc"
- },
- "ke5cH_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "PDDW08DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9762380123138428,
- 0.118617,
- 0.0087860000000000004,
- 321120,
- 321124,
- 1773479967.77266,
- 70083385454664468
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9783480167388916,
- 0.12091200000000001,
- 0.0087930000000000005,
- 321120,
- 321124,
- 70083385460690730,
- 60129542145,
- 0
- ],
- "nMops": 349
- },
- "PVDD1A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0042519569396973,
- 0.13924900000000001,
- 0.015594999999999999,
- 321120,
- 321124,
- 1773479967.800674,
- 70083385534242344
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0062229633331299,
- 0.141398,
- 0.015594999999999999,
- 321120,
- 321124,
- 70083385539870752,
- 309237645313,
- 0
- ],
- "nMops": 5
- },
- "PDB3A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9997119903564453,
- 0.138907,
- 0.012342000000000001,
- 321120,
- 321124,
- 1773479967.796134,
- 70083385521323288
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0041279792785645,
- 0.139128,
- 0.015582,
- 321120,
- 321124,
- 70083385534013160,
- 25769803777,
- 0
- ],
- "nMops": 5
- },
- "DEM_PhaseSync_4008": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8593800067901611,
- 0.00048799999999999999,
- 0.0,
- 321096,
- 321096,
- 1773479967.655802,
- 70083385123375800
- ],
- "nQuads": 10922,
- "child_modules": {
- "DA4008_DEM_Parallel_PRBS_64CH": 1
- },
- "Compiled Times": 2,
- "nRouts": 1320,
- "end_perf": [
- 1.91457200050354,
- 0.054052999999999997,
- 0.0066179999999999998,
- 321120,
- 321120,
- 70083385279870310,
- 639950127105,
- 0
- ],
- "nMops": 21548
- },
- "PDUW16DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9828460216522217,
- 0.12504499999999999,
- 0.008796,
- 321120,
- 321124,
- 1773479967.779268,
- 70083385473410592
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9846301078796387,
- 0.12593199999999999,
- 0.0098549999999999992,
- 321120,
- 321124,
- 70083385478501936,
- 163208757249,
- 0
- ],
- "nMops": 349
- },
- "dpram": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9568278789520264,
- 0.099142999999999995,
- 0.007626,
- 321120,
- 321124,
- 1773479967.7532499,
- 70083385399613468
- ],
- "nQuads": 1187,
- "child_modules": {
- "tsdn28hpcpuhdb4096x128m4mw_170a": 8
- },
- "Compiled Times": 2,
- "nRouts": 198,
- "end_perf": [
- 1.9665350914001465,
- 0.109682,
- 0.0076769999999999998,
- 321120,
- 321124,
- 70083385427193564,
- 614180323329,
- 0
- ],
- "nMops": 6110
- },
- "ulink_rx": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9146420955657959,
- 0.054129999999999998,
- 0.0066179999999999998,
- 321120,
- 321120,
- 1773479967.7110641,
- 70083385279959236
- ],
- "nQuads": 6216,
- "child_modules": {
- "ulink_frame_receiver_0000": 1,
- "ulink_descrambler_128": 1
- },
- "Compiled Times": 2,
- "nRouts": 837,
- "end_perf": [
- 1.9567749500274658,
- 0.099089999999999998,
- 0.0076220000000000003,
- 321120,
- 321124,
- 70083385399528224,
- 511101108225,
- 0
- ],
- "nMops": 16015
- },
- "PDUW08DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9810059070587158,
- 0.12303799999999999,
- 0.008796,
- 321120,
- 321124,
- 1773479967.7774279,
- 70083385468191848
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9828140735626221,
- 0.12501000000000001,
- 0.008796,
- 321120,
- 321124,
- 70083385473351066,
- 128849018881,
- 0
- ],
- "nMops": 349
- },
- "PDDW16DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9783821105957031,
- 0.120946,
- 0.008796,
- 321120,
- 321124,
- 1773479967.7748041,
- 70083385460744488
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.980971097946167,
- 0.122999,
- 0.008796,
- 321120,
- 321124,
- 70083385468133294,
- 94489280513,
- 0
- ],
- "nMops": 349
- },
- "DA4008_DEM_Parallel_PRBS_1CH": {
- "Compiled": "Yes",
- "start_perf": [
- 1.966576099395752,
- 0.109724,
- 0.0076800000000000002,
- 321120,
- 321124,
- 1773479967.7629981,
- 70083385427280382
- ],
- "nQuads": 590,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 56,
- "end_perf": [
- 1.9761970043182373,
- 0.118575,
- 0.0087829999999999991,
- 321120,
- 321124,
- 70083385454604282,
- 644245094401,
- 0
- ],
- "nMops": 1959
- },
- "PVDD2ANA_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.006309986114502,
- 0.14149300000000001,
- 0.015597,
- 321120,
- 321124,
- 1773479967.802732,
- 70083385540036300
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0081520080566406,
- 0.14350099999999999,
- 0.015597,
- 321120,
- 321124,
- 70083385545331116,
- 343597383681,
- 0
- ],
- "nMops": 5
- },
- "PRDW12DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9846620559692383,
- 0.12596399999999999,
- 0.0098580000000000004,
- 321120,
- 321124,
- 1773479967.7810841,
- 70083385478561006
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9870820045471191,
- 0.12793199999999999,
- 0.0099249999999999998,
- 321120,
- 321124,
- 70083385485460752,
- 223338299393,
- 0
- ],
- "nMops": 349
- },
- "PRUW16DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.991858959197998,
- 0.132768,
- 0.0099570000000000006,
- 321120,
- 321124,
- 1773479967.788281,
- 70083385499057792
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9972600936889648,
- 0.13752600000000001,
- 0.011089999999999999,
- 321120,
- 321124,
- 70083385514477852,
- 292057776129,
- 0
- ],
- "nMops": 349
- },
- "PRUW08DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9871160984039307,
- 0.127967,
- 0.0099279999999999993,
- 321120,
- 321124,
- 1773479967.7835381,
- 70083385485518088
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9917581081390381,
- 0.13266500000000001,
- 0.0099489999999999995,
- 321120,
- 321124,
- 70083385498874728,
- 257698037761,
- 0
- ],
- "nMops": 349
- },
- "iopad": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9973599910736084,
- 0.137627,
- 0.011098999999999999,
- 321120,
- 321124,
- 1773479967.793782,
- 70083385514667432
- ],
- "nQuads": 6,
- "child_modules": {
- "PDUW08SDGZ_V_G": 3,
- "PDUW04SDGZ_V_G": 3,
- "PDDW04SDGZ_V_G": 2
- },
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 1.9996209144592285,
- 0.138907,
- 0.012222999999999999,
- 321120,
- 321124,
- 70083385521156488,
- 489626271745,
- 0
- ],
- "nMops": 5
- },
- "PVDD3AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0082330703735352,
- 0.143591,
- 0.015597,
- 321120,
- 321124,
- 1773479967.8046551,
- 70083385545490268
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0106329917907715,
- 0.14477200000000001,
- 0.016576,
- 321120,
- 321124,
- 70083385552407484,
- 377957122049,
- 0
- ],
- "nMops": 5
- },
- "PVSS1DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0107309818267822,
- 0.144869,
- 0.016587999999999999,
- 321120,
- 321124,
- 1773479967.807153,
- 70083385552587756
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0120940208435059,
- 0.146317,
- 0.016625999999999998,
- 321120,
- 321124,
- 70083385556406434,
- 412316860417,
- 0
- ],
- "nMops": 5
- },
- "PVSS2DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0121290683746338,
- 0.14635200000000001,
- 0.016629999999999999,
- 321120,
- 321124,
- 1773479967.8085511,
- 70083385556466100
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0127608776092529,
- 0.14704100000000001,
- 0.016629999999999999,
- 321120,
- 321124,
- 70083385558285826,
- 446676598785,
- 0
- ],
- "nMops": 5
- },
- "sram_if": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0127899646759033,
- 0.14707200000000001,
- 0.016629999999999999,
- 321120,
- 321124,
- 1773479967.809212,
- 70083385558336302
- ],
- "nQuads": 30,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 13,
- "end_perf": [
- 2.0137770175933838,
- 0.148149,
- 0.016629999999999999,
- 321120,
- 321124,
- 70083385561166886,
- 605590388737,
- 0
- ],
- "nMops": 73
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.148344,
- "ru_nivcsw": 4,
- "ru_majflt": 0,
- "ru_stime_sec": 0.016629999999999999,
- "ru_nvcsw": 14,
- "ru_maxrss_kb": 59924,
- "ru_minflt": 5506
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385561626160,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64123.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64123.json
deleted file mode 100644
index 32f0b3d..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64123.json
+++ /dev/null
@@ -1,625 +0,0 @@
-{
- "reusePaths": {
- "eAsJz_d": {
- "icPath": "csrc"
- },
- "MEIvW_d": {
- "icPath": "csrc"
- },
- "FDqaf_d": {
- "icPath": "csrc"
- },
- "K0TuH_d": {
- "icPath": "csrc"
- },
- "J6VbG_d": {
- "icPath": "csrc"
- },
- "yuek5_d": {
- "icPath": "csrc"
- },
- "xqWfY_d": {
- "icPath": "csrc"
- },
- "StNiL_d": {
- "icPath": "csrc"
- },
- "S5Dr6_d": {
- "icPath": "csrc"
- },
- "CNBi6_d": {
- "icPath": "csrc"
- },
- "ZKk4u_d": {
- "icPath": "csrc"
- },
- "aEWK6_d": {
- "icPath": "csrc"
- },
- "EtT2L_d": {
- "icPath": "csrc"
- },
- "ErxQ3_d": {
- "icPath": "csrc"
- },
- "DA1Pu_d": {
- "icPath": "csrc"
- },
- "rZC3e_d": {
- "icPath": "csrc"
- },
- "jHcbf_d": {
- "icPath": "csrc"
- },
- "nJgqZ_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {
- "sH4Fc_d": {
- "mode": 4,
- "bytes": 301568,
- "mod": "TB",
- "out": "sH4Fc_d.o",
- "archive": "archive.1/_64123_archive_1.a",
- "text": 192017,
- "checksum": 0
- }
- },
- "Modules": {
- "PVSS2DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0408909320831299,
- 0.17416599999999999,
- 0.023540999999999999,
- 323088,
- 323092,
- 1773479967.8373129,
- 70083385638042272
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0414628982543945,
- 0.17422399999999999,
- 0.024105999999999999,
- 323088,
- 323092,
- 70083385639689158,
- 450971566081,
- 0
- ],
- "nMops": 5
- },
- "TB": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8600120544433594,
- 0.00039100000000000002,
- 0.0,
- 321096,
- 321096,
- 1773479967.6564341,
- 70083385125163428
- ],
- "nQuads": 7153,
- "child_modules": {
- "lvds_if": 1,
- "spi_if": 1,
- "da4008_chip_top": 1,
- "DEM_Reverse_64CH_0000": 1
- },
- "Compiled Times": 2,
- "nRouts": 642,
- "end_perf": [
- 1.9631540775299072,
- 0.094270000000000007,
- 0.018634000000000001,
- 323080,
- 323080,
- 70083385417603822,
- 725849473025,
- 0
- ],
- "nMops": 27223
- },
- "PDDW08DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0241329669952393,
- 0.15970000000000001,
- 0.019729,
- 323088,
- 323092,
- 1773479967.820555,
- 70083385590515290
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0261869430541992,
- 0.161937,
- 0.019729,
- 323088,
- 323092,
- 70083385596378128,
- 64424509441,
- 0
- ],
- "nMops": 349
- },
- "spi_slave": {
- "Compiled": "Yes",
- "start_perf": [
- 1.963202953338623,
- 0.094315999999999997,
- 0.018643,
- 323080,
- 323080,
- 1773479967.759625,
- 70083385417707746
- ],
- "nQuads": 9193,
- "child_modules": {
- "spi_sys_0000": 1
- },
- "Compiled Times": 2,
- "nRouts": 1020,
- "end_perf": [
- 2.0149190425872803,
- 0.14970800000000001,
- 0.019668999999999999,
- 323088,
- 323092,
- 70083385564449370,
- 665719930881,
- 0
- ],
- "nMops": 25069
- },
- "PDDW16DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0262210369110107,
- 0.16197500000000001,
- 0.019729,
- 323088,
- 323092,
- 1773479967.822643,
- 70083385596440848
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0280730724334717,
- 0.163994,
- 0.019729,
- 323088,
- 323092,
- 70083385601726982,
- 98784247809,
- 0
- ],
- "nMops": 349
- },
- "clk_gen": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0149679183959961,
- 0.149755,
- 0.019675000000000002,
- 323088,
- 323092,
- 1773479967.8113899,
- 70083385564526738
- ],
- "nQuads": 1019,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 126,
- "end_perf": [
- 2.0203719139099121,
- 0.15560199999999999,
- 0.019723999999999998,
- 323088,
- 323092,
- 70083385579894220,
- 687194767361,
- 0
- ],
- "nMops": 2525
- },
- "PRUW16DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0352349281311035,
- 0.170711,
- 0.020826000000000001,
- 323088,
- 323092,
- 1773479967.8316569,
- 70083385622002958
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.036945104598999,
- 0.17257500000000001,
- 0.020826000000000001,
- 323088,
- 323092,
- 70083385626896958,
- 296352743425,
- 0
- ],
- "nMops": 349
- },
- "ulink_descrambler_32": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0204119682312012,
- 0.15564,
- 0.019729,
- 323088,
- 323092,
- 1773479967.816834,
- 70083385579961246
- ],
- "nQuads": 441,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 58,
- "end_perf": [
- 2.0240950584411621,
- 0.15965799999999999,
- 0.019729,
- 323088,
- 323092,
- 70083385590453740,
- 515396075521,
- 0
- ],
- "nMops": 1146
- },
- "PDUW16DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0299758911132812,
- 0.166071,
- 0.019729,
- 323088,
- 323092,
- 1773479967.8263979,
- 70083385607088626
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0316870212554932,
- 0.167937,
- 0.019729,
- 323088,
- 323092,
- 70083385611971984,
- 167503724545,
- 0
- ],
- "nMops": 349
- },
- "PDUW08DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0281059741973877,
- 0.16403100000000001,
- 0.019729,
- 323088,
- 323092,
- 1773479967.824528,
- 70083385601782664
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0299429893493652,
- 0.16603399999999999,
- 0.019729,
- 323088,
- 323092,
- 70083385607031742,
- 133143986177,
- 0
- ],
- "nMops": 349
- },
- "PDB3A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0377640724182129,
- 0.17347000000000001,
- 0.020826000000000001,
- 323088,
- 323092,
- 1773479967.8341861,
- 70083385629175120
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0383739471435547,
- 0.17413500000000001,
- 0.020826000000000001,
- 323088,
- 323092,
- 70083385630930748,
- 30064771073,
- 0
- ],
- "nMops": 5
- },
- "PRDW12DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0317189693450928,
- 0.16797200000000001,
- 0.019729,
- 323088,
- 323092,
- 1773479967.828141,
- 70083385612033016
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.033452033996582,
- 0.168769,
- 0.020822,
- 323088,
- 323092,
- 70083385616978644,
- 227633266689,
- 0
- ],
- "nMops": 349
- },
- "PRUW08DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0334839820861816,
- 0.16880100000000001,
- 0.020826000000000001,
- 323088,
- 323092,
- 1773479967.829906,
- 70083385617040836
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0352039337158203,
- 0.170677,
- 0.020826000000000001,
- 323088,
- 323092,
- 70083385621946280,
- 261993005057,
- 0
- ],
- "nMops": 349
- },
- "PCLAMP_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0369811058044434,
- 0.17261499999999999,
- 0.020826000000000001,
- 323088,
- 323092,
- 1773479967.8334031,
- 70083385626957678
- ],
- "nQuads": 12,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 9,
- "end_perf": [
- 2.037726879119873,
- 0.173428,
- 0.020826000000000001,
- 323088,
- 323092,
- 70083385629119066,
- 12884901889,
- 0
- ],
- "nMops": 8
- },
- "PVDD1A_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0384020805358887,
- 0.17416599999999999,
- 0.020826000000000001,
- 323088,
- 323092,
- 1773479967.8348241,
- 70083385630980868
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0390150547027588,
- 0.17416599999999999,
- 0.021493999999999999,
- 323088,
- 323092,
- 70083385632745970,
- 313532612609,
- 0
- ],
- "nMops": 5
- },
- "PVDD2ANA_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0390419960021973,
- 0.17416599999999999,
- 0.021524000000000001,
- 323088,
- 323092,
- 1773479967.835464,
- 70083385632797286
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0396459102630615,
- 0.17416599999999999,
- 0.022183000000000001,
- 323088,
- 323092,
- 70083385634533752,
- 347892350977,
- 0
- ],
- "nMops": 5
- },
- "PVDD3AC_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0396709442138672,
- 0.17416599999999999,
- 0.022211000000000002,
- 323088,
- 323092,
- 1773479967.8360929,
- 70083385634582146
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0402379035949707,
- 0.17416599999999999,
- 0.022828000000000001,
- 323088,
- 323092,
- 70083385636212136,
- 382252089345,
- 0
- ],
- "nMops": 5
- },
- "PVSS1DGZ_V_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0402629375457764,
- 0.17416599999999999,
- 0.022856000000000001,
- 323088,
- 323092,
- 1773479967.8366849,
- 70083385636260406
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0408639907836914,
- 0.17416599999999999,
- 0.023511000000000001,
- 323088,
- 323092,
- 70083385637987458,
- 416611827713,
- 0
- ],
- "nMops": 5
- },
- "sram_if_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0414888858795166,
- 0.17424999999999999,
- 0.024109999999999999,
- 323088,
- 323092,
- 1773479967.8379109,
- 70083385639738802
- ],
- "nQuads": 30,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 13,
- "end_perf": [
- 2.0425040721893311,
- 0.17535500000000001,
- 0.024111,
- 323088,
- 323092,
- 70083385642677162,
- 605590388737,
- 0
- ],
- "nMops": 73
- }
- },
- "ObjArchives": [
- {
- "archive": "archive.1/_64123_archive_1.a",
- "objects": [
- [
- "sH4Fc_d.o",
- 301568
- ]
- ],
- "size": 301568
- }
- ],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.17535500000000001,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.024364,
- "ru_nvcsw": 1,
- "ru_maxrss_kb": 61864,
- "ru_minflt": 6421
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385643257652,
- "peak_mem_kb": 323092
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64124.json b/DA4008_V1.2/sim/chip_top/csrc/cgproc.64124.json
deleted file mode 100644
index 1f156b9..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/cgproc.64124.json
+++ /dev/null
@@ -1,605 +0,0 @@
-{
- "reusePaths": {
- "iWZrk_d": {
- "icPath": "csrc"
- },
- "P3BwM_d": {
- "icPath": "csrc"
- },
- "T59nH_d": {
- "icPath": "csrc"
- },
- "nULrd_d": {
- "icPath": "csrc"
- },
- "QT8j3_d": {
- "icPath": "csrc"
- },
- "Ss3zK_d": {
- "icPath": "csrc"
- },
- "z4wk8_d": {
- "icPath": "csrc"
- },
- "W9VnM_d": {
- "icPath": "csrc"
- },
- "QjV6F_d": {
- "icPath": "csrc"
- },
- "LsJ1x_d": {
- "icPath": "csrc"
- },
- "HiTWu_d": {
- "icPath": "csrc"
- },
- "usz4x_d": {
- "icPath": "csrc"
- },
- "gxqJp_d": {
- "icPath": "csrc"
- },
- "fTzb4_d": {
- "icPath": "csrc"
- },
- "gwpgC_d": {
- "icPath": "csrc"
- },
- "riJVY_d": {
- "icPath": "csrc"
- },
- "IYQDs_d": {
- "icPath": "csrc"
- },
- "aYKwj_d": {
- "icPath": "csrc"
- },
- "jsR1C_d": {
- "icPath": "csrc"
- }
- },
- "CompUnits": {},
- "Modules": {
- "spi_sys_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9490780830383301,
- 0.079341999999999996,
- 0.017389999999999999,
- 321120,
- 321120,
- 1773479967.7455001,
- 70083385377644068
- ],
- "nQuads": 7699,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 874,
- "end_perf": [
- 1.9827609062194824,
- 0.11502900000000001,
- 0.018447999999999999,
- 321120,
- 321124,
- 70083385473225668,
- 674309865473,
- 0
- ],
- "nMops": 20053
- },
- "ulink_frame_receiver_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.8610560894012451,
- 0.0,
- 0.00070399999999999998,
- 321096,
- 321096,
- 1773479967.6574781,
- 70083385128456660
- ],
- "nQuads": 13186,
- "child_modules": {
- "syn_fwft_fifo": 1,
- "crc32": 1
- },
- "Compiled Times": 2,
- "nRouts": 1713,
- "end_perf": [
- 1.9490220546722412,
- 0.079291,
- 0.017378999999999999,
- 321120,
- 321120,
- 70083385377540102,
- 528280977409,
- 0
- ],
- "nMops": 33983
- },
- "PDUW08SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9955570697784424,
- 0.124463,
- 0.021645000000000001,
- 321120,
- 321124,
- 1773479967.7919791,
- 70083385509464604
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9977540969848633,
- 0.12534400000000001,
- 0.022690999999999999,
- 321120,
- 321124,
- 70083385515729828,
- 137438953473,
- 0
- ],
- "nMops": 349
- },
- "PDDW08SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9908609390258789,
- 0.121124,
- 0.020546999999999999,
- 321120,
- 321124,
- 1773479967.7872829,
- 70083385496140438
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9931700229644775,
- 0.122171,
- 0.021623,
- 321120,
- 321124,
- 70083385502730480,
- 68719476737,
- 0
- ],
- "nMops": 349
- },
- "PRUW16SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0059709548950195,
- 0.13242100000000001,
- 0.023743,
- 321120,
- 321124,
- 1773479967.802393,
- 70083385538999072
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.007688045501709,
- 0.134294,
- 0.023743,
- 321120,
- 321124,
- 70083385543897280,
- 300647710721,
- 0
- ],
- "nMops": 349
- },
- "PVDD1AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0096900463104248,
- 0.13531699999999999,
- 0.0247,
- 321120,
- 321124,
- 1773479967.8061121,
- 70083385549548408
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0103180408477783,
- 0.13589599999999999,
- 0.024806000000000002,
- 321120,
- 321124,
- 70083385551358514,
- 317827579905,
- 0
- ],
- "nMops": 5
- },
- "DW_pulse_sync_0000": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9828059673309326,
- 0.11507199999999999,
- 0.018454000000000002,
- 321120,
- 321124,
- 1773479967.779228,
- 70083385473300012
- ],
- "nQuads": 613,
- "child_modules": {
- "DW_sync_0000": 1
- },
- "Compiled Times": 2,
- "nRouts": 61,
- "end_perf": [
- 1.9877560138702393,
- 0.12013799999999999,
- 0.018454000000000002,
- 321120,
- 321124,
- 70083385487386240,
- 717259538433,
- 0
- ],
- "nMops": 1706
- },
- "crc32": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9877939224243164,
- 0.12018,
- 0.018454000000000002,
- 321120,
- 321124,
- 1773479967.7842159,
- 70083385487443010
- ],
- "nQuads": 253,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 36,
- "end_perf": [
- 1.9908270835876465,
- 0.12109200000000001,
- 0.020542000000000001,
- 321120,
- 321124,
- 70083385496084964,
- 523986010113,
- 0
- ],
- "nMops": 579
- },
- "PRDW12SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0018460750579834,
- 0.12843199999999999,
- 0.023743,
- 321120,
- 321124,
- 1773479967.7982681,
- 70083385527300494
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0041220188140869,
- 0.13040299999999999,
- 0.023743,
- 321120,
- 321124,
- 70083385533790874,
- 231928233985,
- 0
- ],
- "nMops": 349
- },
- "PDDW16SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.99320387840271,
- 0.12220200000000001,
- 0.021628000000000001,
- 321120,
- 321124,
- 1773479967.7896259,
- 70083385502786556
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 1.9955151081085205,
- 0.12442300000000001,
- 0.021638000000000001,
- 321120,
- 321124,
- 70083385509403236,
- 103079215105,
- 0
- ],
- "nMops": 349
- },
- "PVSS3A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0134339332580566,
- 0.13711100000000001,
- 0.02699,
- 321120,
- 321124,
- 1773479967.8098559,
- 70083385560208336
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0147368907928467,
- 0.137577,
- 0.027945000000000001,
- 321120,
- 321124,
- 70083385563953816,
- 455266533377,
- 0
- ],
- "nMops": 5
- },
- "PDUW16SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 1.9977879524230957,
- 0.12537599999999999,
- 0.022696999999999998,
- 321120,
- 321124,
- 1773479967.79421,
- 70083385515792636
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0018129348754883,
- 0.12840099999999999,
- 0.023737999999999999,
- 321120,
- 321124,
- 70083385527244048,
- 171798691841,
- 0
- ],
- "nMops": 349
- },
- "PDB3AC_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0085549354553223,
- 0.13519,
- 0.023793000000000002,
- 321120,
- 321124,
- 1773479967.8049769,
- 70083385546329392
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0096580982208252,
- 0.13528599999999999,
- 0.024695000000000002,
- 321120,
- 321124,
- 70083385549493262,
- 34359738369,
- 0
- ],
- "nMops": 5
- },
- "PRUW08SDGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0041561126708984,
- 0.130441,
- 0.023743,
- 321120,
- 321124,
- 1773479967.8005781,
- 70083385533852716
- ],
- "nQuads": 148,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 24,
- "end_perf": [
- 2.0059390068054199,
- 0.132385,
- 0.023743,
- 321120,
- 321124,
- 70083385538943462,
- 266287972353,
- 0
- ],
- "nMops": 349
- },
- "PDXOEDG_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0077180862426758,
- 0.134327,
- 0.023743,
- 321120,
- 321124,
- 1773479967.8041401,
- 70083385543953454
- ],
- "nQuads": 24,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 11,
- "end_perf": [
- 2.0085148811340332,
- 0.135153,
- 0.023786999999999999,
- 321120,
- 321124,
- 70083385546272148,
- 180388626433,
- 0
- ],
- "nMops": 43
- },
- "PVDD2DGZ_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0103480815887451,
- 0.13592299999999999,
- 0.024811,
- 321120,
- 321124,
- 1773479967.8067701,
- 70083385551411388
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0111320018768311,
- 0.13592299999999999,
- 0.025666000000000001,
- 321120,
- 321124,
- 70083385553669588,
- 352187318273,
- 0
- ],
- "nMops": 5
- },
- "PVSS1A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0111629962921143,
- 0.13592299999999999,
- 0.025700000000000001,
- 321120,
- 321124,
- 1773479967.807585,
- 70083385553726880
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.012037992477417,
- 0.136737,
- 0.025839999999999998,
- 321120,
- 321124,
- 70083385556322210,
- 386547056641,
- 0
- ],
- "nMops": 5
- },
- "PVSS2A_H_G": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0121040344238281,
- 0.136799,
- 0.025850999999999999,
- 321120,
- 321124,
- 1773479967.808526,
- 70083385556439972
- ],
- "nQuads": 6,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 8,
- "end_perf": [
- 2.0133709907531738,
- 0.13705200000000001,
- 0.026977999999999999,
- 321120,
- 321124,
- 70083385560084316,
- 420906795009,
- 0
- ],
- "nMops": 5
- },
- "sram_if_0001": {
- "Compiled": "Yes",
- "start_perf": [
- 2.0147950649261475,
- 0.13763,
- 0.027956000000000002,
- 321120,
- 321124,
- 1773479967.8112171,
- 70083385564068890
- ],
- "nQuads": 30,
- "child_modules": {},
- "Compiled Times": 2,
- "nRouts": 13,
- "end_perf": [
- 2.0169260501861572,
- 0.13992499999999999,
- 0.027984999999999999,
- 321120,
- 321124,
- 70083385570174088,
- 605590388737,
- 0
- ],
- "nMops": 73
- }
- },
- "ObjArchives": [],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.14016899999999999,
- "ru_nivcsw": 1,
- "ru_majflt": 0,
- "ru_stime_sec": 0.028032999999999999,
- "ru_nvcsw": 14,
- "ru_maxrss_kb": 60188,
- "ru_minflt": 5823
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_majflt": 0,
- "ru_stime_sec": 0.0,
- "ru_nvcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0
- },
- "cpu_cycles_end": 70083385570830554,
- "peak_mem_kb": 321124
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/csrc/checksum b/DA4008_V1.2/sim/chip_top/csrc/checksum
deleted file mode 100644
index e2ca0b5..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/checksum and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist b/DA4008_V1.2/sim/chip_top/csrc/filelist
deleted file mode 100644
index f107800..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-AR=ar
-DOTLIBS=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libzerosoft_rt_stubs.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
-
-# This file is automatically generated by VCS. Any changes you make to it
-# will be overwritten the next time VCS is run
-VCS_LIBEXT=
-XTRN_OBJS=
-
-DPI_WRAPPER_OBJS =
-DPI_STUB_OBJS =
-# filelist.dpi will populate DPI_WRAPPER_OBJS and DPI_STUB_OBJS
-include filelist.dpi
-PLI_STUB_OBJS =
-include filelist.pli
-
-include filelist.hsopt
-
-include filelist.cu
-
-VCS_MISC_OBJS=
-VCS_INCR_OBJS=
-
-
-AUGDIR=
-AUG_LDFLAGS=
-SHARED_OBJ_SO=
-
-
-
-VLOG_OBJS= $(VCS_OBJS) $(CU_OBJS) $(VCS_ARC0) $(XTRN_OBJS) $(DPI_WRAPPER_OBJS) $(VCS_INCR_OBJS) $(SHARED_OBJ_SO) $(HSOPT_OBJS)
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.cu b/DA4008_V1.2/sim/chip_top/csrc/filelist.cu
deleted file mode 100644
index 8e342b1..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist.cu
+++ /dev/null
@@ -1,58 +0,0 @@
-PIC_LD=ld
-
-ARCHIVE_OBJS=
-ARCHIVE_OBJS += _64094_archive_1.so
-_64094_archive_1.so : archive.1/_64094_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_64094_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_64094_archive_1.so $@
-
-
-ARCHIVE_OBJS += _64123_archive_1.so
-_64123_archive_1.so : archive.1/_64123_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_64123_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_64123_archive_1.so $@
-
-
-ARCHIVE_OBJS += _prev_archive_1.so
-_prev_archive_1.so : archive.1/_prev_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_prev_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_prev_archive_1.so $@
-
-
-
-VCS_ARC0 =_csrc0.so
-
-VCS_OBJS0 =objs/amcQw_d.o
-
-
-O0_OBJS =
-
-$(O0_OBJS) : %.o: %.c
- $(CC_CG) $(CFLAGS_O0) -c -o $@ $<
-
-
-%.o: %.c
- $(CC_CG) $(CFLAGS_CG) -c -o $@ $<
-
-$(VCS_ARC0) : $(VCS_OBJS0)
- $(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//$(VCS_ARC0) $(VCS_OBJS0)
- rm -f $(VCS_ARC0)
- @ln -sf .//../simv.daidir//$(VCS_ARC0) $(VCS_ARC0)
-
-CU_UDP_OBJS = \
-
-
-CU_LVL_OBJS = \
-SIM_l.o
-
-MAIN_OBJS = \
-
-
-CU_OBJS = $(MAIN_OBJS) $(ARCHIVE_OBJS) $(VCS_ARC0) $(CU_UDP_OBJS) $(CU_LVL_OBJS)
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.dpi b/DA4008_V1.2/sim/chip_top/csrc/filelist.dpi
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt b/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt
deleted file mode 100644
index 468b268..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt
+++ /dev/null
@@ -1,13 +0,0 @@
-rmapats_mop.o: rmapats.m
- @/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/cgmop1 -tls_initexe -pic -gen_obj rmapats.m rmapats_mop.o; rm -f rmapats.m; touch rmapats.m; touch rmapats_mop.o
-
-rmapats.o: rmapats.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmapats.o rmapats.c
-rmapats%.o: rmapats%.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $<
-rmar.o: rmar.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmar.o rmar.c
-rmar%.o: rmar%.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $<
-
-include filelist.hsopt.objs
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.llvm2_0.objs b/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.llvm2_0.objs
deleted file mode 100644
index 4c31419..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.llvm2_0.objs
+++ /dev/null
@@ -1 +0,0 @@
-LLVM_OBJS += rmar_llvm_0_1.o rmar_llvm_0_0.o
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.objs b/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.objs
deleted file mode 100644
index f40e57c..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist.hsopt.objs
+++ /dev/null
@@ -1,7 +0,0 @@
-HSOPT_OBJS +=rmapats_mop.o \
- rmapats.o \
- rmar.o rmar_nd.o
-
-include filelist.hsopt.llvm2_0.objs
-HSOPT_OBJS += $(LLVM_OBJS)
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/filelist.pli b/DA4008_V1.2/sim/chip_top/csrc/filelist.pli
deleted file mode 100644
index 653944b..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/filelist.pli
+++ /dev/null
@@ -1,4 +0,0 @@
-PLI_STUB_OBJS += _vcs_pli_stub_.o
-_vcs_pli_stub_.o: _vcs_pli_stub_.c
- @$(CC) -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -fPIC -c -o _vcs_pli_stub_.o _vcs_pli_stub_.c
- @strip -g _vcs_pli_stub_.o
diff --git a/DA4008_V1.2/sim/chip_top/csrc/hsim/hsim.sdb b/DA4008_V1.2/sim/chip_top/csrc/hsim/hsim.sdb
deleted file mode 100644
index 6157d02..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/hsim/hsim.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/import_dpic.h b/DA4008_V1.2/sim/chip_top/csrc/import_dpic.h
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/csrc/objs/amcQw_d.o b/DA4008_V1.2/sim/chip_top/csrc/objs/amcQw_d.o
deleted file mode 100644
index c8ebb61..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/objs/amcQw_d.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/pre.cgincr.sdb b/DA4008_V1.2/sim/chip_top/csrc/pre.cgincr.sdb
deleted file mode 100644
index ca6ed9f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/pre.cgincr.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/product_timestamp b/DA4008_V1.2/sim/chip_top/csrc/product_timestamp
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmapats.c b/DA4008_V1.2/sim/chip_top/csrc/rmapats.c
deleted file mode 100644
index 0c43907..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/rmapats.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// file = 0; split type = patterns; threshold = 100000; total count = 0.
-#include
-#include
-#include
-#include "rmapats.h"
-
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685);
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685)
-{
- U I1547;
- U I1548;
- U I1549;
- struct futq * I1550;
- struct dummyq_struct * pQ = I1289;
- I1547 = ((U )vcs_clocks) + I685;
- I1549 = I1547 & ((1 << fHashTableSize) - 1);
- I1283->I727 = (EBLK *)(-1);
- I1283->I731 = I1547;
- if (I1547 < (U )vcs_clocks) {
- I1548 = ((U *)&vcs_clocks)[1];
- sched_millenium(pQ, I1283, I1548 + 1, I1547);
- }
- else if ((peblkFutQ1Head != ((void *)0)) && (I685 == 1)) {
- I1283->I733 = (struct eblk *)peblkFutQ1Tail;
- peblkFutQ1Tail->I727 = I1283;
- peblkFutQ1Tail = I1283;
- }
- else if ((I1550 = pQ->I1190[I1549].I745)) {
- I1283->I733 = (struct eblk *)I1550->I744;
- I1550->I744->I727 = (RP )I1283;
- I1550->I744 = (RmaEblk *)I1283;
- }
- else {
- sched_hsopt(pQ, I1283, I1547);
- }
-}
-#ifdef __cplusplus
-extern "C" {
-#endif
-void SinitHsimPats(void);
-#ifdef __cplusplus
-}
-#endif
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmapats.h b/DA4008_V1.2/sim/chip_top/csrc/rmapats.h
deleted file mode 100644
index 6fd37cc..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/rmapats.h
+++ /dev/null
@@ -1,2986 +0,0 @@
-#ifndef __DO_RMAHDR_
-#define __DO_RMAHDR_
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-#define VCS_RTLIB_TLS_MODEL __attribute__((tls_model("initial-exec")))
-
-typedef unsigned long UP;
-typedef unsigned U;
-typedef unsigned char UB;
-typedef unsigned char scalar;
-typedef struct vec32 vec32;
-typedef unsigned short US;
-typedef unsigned char SVAL;
-typedef unsigned char TYPEB;
-typedef struct qird QIRD;
-typedef unsigned char UST_e;
-typedef unsigned uscope_t;
-typedef U NumLibs_t;
-struct vec32 {
- U I1;
- U I2;
-};
-typedef unsigned long RP;
-typedef unsigned long RO;
-typedef unsigned long long ULL;
-typedef U GateCount;
-typedef U NodeCount;
-typedef unsigned short HsimEdge;
-typedef unsigned char HsimExprChar;
-typedef struct {
- U I706;
- RP I707;
-} RmaReceiveClock1;
-typedef NodeCount FlatNodeNum;
-typedef U InstNum;
-typedef unsigned ProcessNum;
-typedef unsigned long long TimeStamp64;
-typedef unsigned long long TimeStamp;
-typedef enum {
- PD_SING = 0,
- PD_RF = 1,
- PD_PLSE = 2,
- PD_PLSE_RF = 3,
- PD_NULL = 4
-} PD_e;
-typedef TimeStamp RmaTimeStamp;
-typedef TimeStamp64 RmaTimeStamp64;
-typedef struct {
- int * I708;
- int * I709;
- int I710;
- union {
- long long enumDesc;
- long long classId;
- } I711;
-} TypeData;
-struct etype {
- U I586 :8;
- U I587;
- U I588;
- U I589 :1;
- U I590 :1;
- U I591 :1;
- U I592 :1;
- U I593 :1;
- U I594 :1;
- U I595 :1;
- U I596 :1;
- U I597 :1;
- U I598 :4;
- U I599 :1;
- U I600 :1;
- U I601 :1;
- U I602 :1;
- U I603 :1;
- U I604 :1;
- U I605 :1;
- U I606 :1;
- U I607 :2;
- U I608 :1;
- U I609 :2;
- U I610 :1;
- U I611 :1;
- U I612 :1;
- U I613 :1;
- U I614 :1;
- U I615 :1;
- TypeData * I616;
- U I617;
- U I618;
- U I619 :1;
- U I620 :1;
- U I621 :1;
- U I622 :1;
- U I623 :2;
- U I624 :2;
- U I625 :1;
- U I626 :1;
- U I627 :1;
- U I628 :1;
- U I629 :1;
- U I630 :1;
- U I631 :1;
- U I632 :1;
- U I633 :1;
- U I634 :1;
- U I635 :1;
- U I636 :13;
-};
-typedef union {
- double I718;
- unsigned long long I719;
- unsigned I720[2];
-} rma_clock_struct;
-typedef struct eblk EBLK;
-typedef int (* E_fn)(void);
-typedef struct eblk {
- struct eblk * I727;
- E_fn I728;
- struct iptmpl * I729;
- unsigned I731;
- unsigned I732;
- struct eblk * I733;
-} eblk_struct;
-typedef struct {
- RP I727;
- RP I728;
- RP I729;
- unsigned I731;
- unsigned I732;
- RP I733;
-} RmaEblk;
-typedef struct {
- RP I727;
- RP I728;
- RP I729;
- unsigned I731;
- unsigned I732;
- RP I733;
- unsigned val;
-} RmaEblklq;
-typedef union {
- double I718;
- unsigned long long I719;
- unsigned I720[2];
-} clock_struct;
-typedef clock_struct RmaClockStruct;
-typedef struct RmaRetain_t RmaRetain;
-struct RmaRetain_t {
- RP I769;
- RmaEblk I726;
- U I771;
- US I772 :1;
- US I773 :4;
- US I181 :2;
- US state :2;
- US I775 :1;
- US I776 :2;
- US I777 :2;
- US fHsim :1;
- US I569 :1;
- scalar newval;
- scalar I780;
- RP I781;
-};
-struct retain_t {
- struct retain_t * I769;
- EBLK I726;
- U I771;
- US I772 :1;
- US I773 :4;
- US I181 :2;
- US state :2;
- US I775 :1;
- US I776 :2;
- US I777 :2;
- US fHsim :1;
- US I778 :1;
- scalar newval;
- scalar I780;
- void * I781;
-};
-typedef struct MPSched MPS;
-typedef struct RmaMPSched RmaMps;
-struct MPSched {
- MPS * I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- EBLK I766;
- void * I767;
- UP I768[1];
-};
-struct RmaMPSched {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- RmaEblk I766;
- RP I767;
- RP I768[1];
-};
-typedef struct RmaMPSchedPulse RmaMpsp;
-struct RmaMPSchedPulse {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar I181;
- U I765;
- RmaEblk I766;
- scalar I777;
- scalar I786;
- scalar I787;
- scalar I788;
- U I789;
- RmaClockStruct I790;
- RmaClockStruct I791;
- U state;
- U I792;
- RP I729;
- RP I793;
- RP I794;
- RP I768[1];
-};
-typedef struct MPItem MPI;
-struct MPItem {
- U * I796;
- void * I797;
-};
-typedef struct {
- RmaEblk I726;
- RP I798;
- scalar I799;
- scalar I777;
- scalar I800;
-} RmaTransEventHdr;
-typedef struct RmaMPSchedPulseNewCsdf RmaMpspNewCsdf;
-struct RmaMPSchedPulseNewCsdf {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- RmaEblk I766;
- scalar I777;
- scalar I786;
- scalar I787;
- scalar I788;
- U state :4;
- U I802 :28;
- RmaClockStruct I790;
- RmaClockStruct I791;
- RP I803;
- RP I729;
- RP I804;
- RP I768[1];
-};
-typedef struct red_t {
- U I805;
- U I806;
- U I685;
-} RED;
-typedef struct predd {
- PD_e I181;
- RED I807[0];
-} PREDD;
-union rhs_value {
- vec32 I808;
- scalar I799;
- vec32 * I777;
- double I809;
- U I810;
-};
-typedef struct nbs_t {
- struct nbs_t * I811;
- struct nbs_t * I813;
- void (* I814)(struct nbs_t * I781);
- U I815 :1;
- U I816 :1;
- U I817 :1;
- U I818 :1;
- U I819 :1;
- U I820 :1;
- U I821 :26;
- U I822;
- void * I823;
- union rhs_value I824;
- vec32 I718;
- union {
- struct nbs_t * first;
- struct nbs_t * last;
- } I826;
-} NBS;
-typedef struct {
- RP I827;
- RP I793;
- RP I729;
- RP I794;
- RmaEblk I726;
- RmaEblk I828;
- RP I829;
- scalar I799;
- scalar I777;
- char state;
- uscope_t I830;
- U I831;
- RP I832;
- scalar I786;
- scalar I787;
- scalar I788;
- RmaClockStruct I790;
- RmaClockStruct I791;
- RP I767;
-} RmaPulse;
-typedef enum {
- QIRDModuleC = 1,
- QIRDSVPackageC = 2,
- QIRDSpiceModuleC = 3
-} QIRDModuleType;
-typedef struct {
- U I836 :1;
- U I837 :1;
- U I838 :1;
- U I839 :1;
- U I840 :1;
- U I841 :1;
- U I842 :1;
- U I843 :1;
- U I844 :1;
- U I845 :1;
- U I846 :1;
- U I847 :1;
- U I848 :1;
- U I849 :1;
- U I850 :1;
- U I851 :1;
- U I852 :1;
- U I853 :1;
- QIRDModuleType I854 :2;
- U I855 :1;
- U I856 :1;
- U I857 :1;
- U I858 :1;
- U I859 :1;
- U I860 :1;
- U I861 :1;
- U I862 :1;
- U I863 :1;
- U I864 :1;
- U I865 :1;
- U I866 :1;
- U I867 :1;
- U I868 :1;
- U I869 :1;
- U I870 :1;
- U I871 :1;
- U I872 :1;
- U I873 :1;
- U I874 :1;
-} BitFlags;
-struct qird {
- US I4;
- US I5;
- U I6;
- U I7;
- char * I8;
- char * I9;
- U * I10;
- char * I11;
- char * I12;
- U I13;
- U I14;
- struct vcd_rt * I15;
- U I17;
- struct _vcdOffset_rt * I18;
- U I20;
- U I21;
- U * I22;
- U * I23;
- void * I24;
- void * I25;
- U I26;
- int I27;
- UP I28;
- U I29;
- U I30;
- U I31;
- UP I32;
- U * I33;
- UP I34;
- U I35;
- BitFlags I36;
- U I37;
- U I38;
- U I39;
- U I40;
- U I41;
- U * I42;
- U I43;
- U * I44;
- U I45;
- U I46;
- U I47;
- U I48;
- U I49;
- U I50;
- U I51;
- U * I52;
- U * I53;
- U I54;
- U I55;
- U * I56;
- U I57;
- U * I58;
- U I59;
- U I60;
- U I61;
- U I62;
- U * I63;
- U I64;
- U * I65;
- U I66;
- U I67;
- U I68;
- U I69;
- U I70;
- U I71;
- U * I72;
- char * I73;
- U I74;
- U I75;
- U I76;
- U I77;
- U I78;
- U * I79;
- U I80;
- U I81;
- U I82;
- UP * I83;
- U I84;
- U I85;
- U I86;
- U I87;
- U I88;
- U I89;
- U * I90;
- U I91;
- U I92;
- U * I93;
- U * I94;
- U * I95;
- U * I96;
- U * I97;
- U I98;
- U I99;
- struct taskInfo * I100;
- U I102;
- U I103;
- U I104;
- int * I105;
- U * I106;
- UP * I107;
- U * I108;
- U I109;
- U I110;
- U I111;
- U I112;
- U I113;
- struct qrefer * I114;
- U * I116;
- unsigned * I117;
- void * I118;
- U I119;
- U I120;
- struct classStaticReferData * I121;
- U I123;
- U * I124;
- U I125;
- U * I126;
- U I127;
- struct wakeupInfoStruct * I128;
- U I130;
- U I131;
- U I132;
- U * I133;
- U I134;
- U * I135;
- U I136;
- U I137;
- U I138;
- U * I139;
- U I140;
- U * I141;
- U I142;
- U I143;
- U * I144;
- U I145;
- U I146;
- U * I147;
- U * I148;
- U * I149;
- U I150;
- U I151;
- U I152;
- U I153;
- U I154;
- struct qrefee * I155;
- U * I157;
- U I158;
- struct qdefrefee * I159;
- U * I161;
- int (* I162)(void);
- char * I163;
- U I164;
- U I165;
- void * I166;
- void * I167;
- NumLibs_t I168;
- char * I169;
- U * I170;
- U I171;
- U I172;
- U I173;
- U I174;
- U I175;
- U * I176;
- U * I177;
- int I178;
- struct clock_load * I179;
- int I194;
- struct clock_data * I195;
- int I211;
- struct clock_hiconn * I212;
- U I216;
- U I217;
- U I218;
- U I219;
- U * I220;
- U * I221;
- U I222;
- void * I223;
- U I224;
- U I225;
- UP * I226;
- void * I227;
- U I228;
- UP * I229;
- U * I230;
- int (* I231)(void);
- U * I232;
- UP * I233;
- U * I234;
- U I235 :1;
- U I236 :31;
- U I237;
- U I238;
- UP * I239;
- U * I240;
- U I241 :1;
- U I242 :1;
- U I243 :1;
- U I244 :1;
- U I245 :28;
- U I246;
- U I247;
- U I248;
- U I249 :31;
- U I250 :1;
- UP * I251;
- UP * I252;
- U * I253;
- U * I254;
- U * I255;
- U * I256;
- UP * I257;
- UP * I258;
- UP * I259;
- U * I260;
- UP * I261;
- UP * I262;
- UP * I263;
- UP * I264;
- char * I265;
- U I266;
- U I267;
- U I268;
- UP * I269;
- U I270;
- UP * I271;
- UP * I272;
- UP * I273;
- UP * I274;
- UP * I275;
- UP * I276;
- UP * I277;
- UP * I278;
- UP * I279;
- UP * I280;
- UP * I281;
- UP * I282;
- UP * I283;
- UP * I284;
- U * I285;
- U * I286;
- UP * I287;
- U I288;
- U I289;
- U I290;
- U I291;
- U I292;
- U I293;
- U I294;
- U I295;
- char * I296;
- U * I297;
- U I298;
- U I299;
- U I300;
- U I301;
- U I302;
- UP * I303;
- UP * I304;
- UP * I305;
- UP * I306;
- struct daidirInfo * I307;
- struct vcs_tftable * I309;
- U I311;
- UP * I312;
- UP * I313;
- U I314;
- U I315;
- U I316;
- UP * I317;
- U * I318;
- UP * I319;
- UP * I320;
- struct qird_hil_data * I321;
- UP (* I323)(void);
- UP (* I324)(void);
- UP (* I325)(void);
- UP (* I326)(void);
- UP (* I327)(void);
- int * I328;
- int (* I329)(void);
- char * I330;
- UP * I331;
- UP * I332;
- UP (* I333)(void);
- int (* I334)(void);
- int * I335;
- int (* I336)(void);
- int * I337;
- char * I338;
- U * I339;
- U * I340;
- U * I341;
- U * I342;
- void * I343;
- U I344;
- void * I345;
- U I346;
- U I347;
- U I348;
- U I349;
- U I350;
- U I351;
- char * I352;
- UP * I353;
- U * I354;
- U * I355;
- U I356 :15;
- U I357 :14;
- U I358 :1;
- U I359 :1;
- U I360 :1;
- U I361 :3;
- U I362 :1;
- U I363 :1;
- U I364 :17;
- U I365 :3;
- U I366 :5;
- U I367 :1;
- U I368 :1;
- U I369;
- U I370;
- struct scope * I371;
- U I373;
- U I374;
- U I375;
- U * I376;
- U * I377;
- U * I378;
- U I379;
- U I380;
- U I381;
- struct pcbt * I382;
- U I392;
- U I393;
- U I394;
- U I395;
- void * I396;
- void * I397;
- void * I398;
- int I399;
- U * I400;
- U I401;
- U I402;
- U I403;
- U I404;
- U I405;
- U I406;
- U I407;
- void * I408;
- UP * I409;
- U I410;
- U I411;
- void * I412;
- U I413;
- void * I414;
- U I415;
- void * I416;
- U I417;
- int (* I418)(void);
- int (* I419)(void);
- void * I420;
- void * I421;
- void * I422;
- U I423;
- U I424;
- U I425;
- U I426;
- U I427;
- U I428;
- char * I429;
- U I430;
- U * I431;
- U I432;
- U * I433;
- U I434;
- U I435;
- U I436;
- U I437;
- U I438;
- U I439;
- U * I440;
- U I441;
- U I442;
- U * I443;
- U I444;
- U I445;
- U I446;
- U * I447;
- char * I448;
- U I449;
- U I450;
- U I451;
- U I452;
- U * I453;
- U * I454;
- U I455;
- U * I456;
- U * I457;
- U I458;
- U I459;
- U I460;
- UP * I461;
- U I462;
- U I463;
- U I464;
- struct cosim_info * I465;
- U I467;
- U * I468;
- U I469;
- void * I470;
- U I471;
- U * I472;
- U I473;
- struct hybridSimReferrerData * I474;
- U I476;
- U * I477;
- U I478;
- U I479;
- U * I480;
- U I481;
- U * I482;
- U I483;
- U * I484;
- U I485;
- U I486;
- U I487;
- U I488;
- U I489;
- U I490;
- U I491;
- U I492;
- U I493;
- U * I494;
- U * I495;
- void (* I496)(void);
- U * I497;
- UP * I498;
- struct mhdl_outInfo * I499;
- UP * I501;
- U I502;
- UP * I503;
- U I504;
- void * I505;
- U * I506;
- void * I507;
- char * I508;
- int (* I509)(void);
- U * I510;
- char * I511;
- char * I512;
- U I513;
- U * I514;
- char * I515;
- U I516;
- struct regInitInfo * I517;
- UP * I519;
- U * I520;
- char * I521;
- U I522;
- U I523;
- U I524;
- U I525;
- U I526;
- U I527;
- U I528;
- U I529;
- UP * I530;
- U I531;
- U I532;
- U I533;
- U I534;
- UP * I535;
- U I536;
- UP * I537;
- U I538;
- U I539;
- U I540;
- U * I541;
- U I542;
- U I543;
- U I544;
- U * I545;
- U * I546;
- UP * I547;
- UP * I548;
- void * I549;
- UP I550;
- void * I551;
- void * I552;
- void * I553;
- void * I554;
- void * I555;
- UP I556;
- U * I557;
- U * I558;
- void * I559;
- U I560 :1;
- U I561 :31;
- U I562;
- U I563;
- U I564;
- int I565;
- U I566 :1;
- U I567 :1;
- U I568 :1;
- U I569 :29;
- void * I570;
- void * I571;
- void * I572;
- void * I573;
- void * I574;
- UP * I575;
- U * I576;
- U I577;
- char * I578;
- U * I579;
- U * I580;
- char * I581;
- int * I582;
- UP * I583;
- struct etype * I584;
- U I637;
- U I638;
- U * I639;
- struct etype * I640;
- U I641;
- U I642;
- U I643;
- U * I644;
- void * I645;
- U I646;
- U I647;
- void * I648;
- U I649;
- U I650;
- U * I651;
- U * I652;
- char * I653;
- U I654;
- struct covreg_rt * I655;
- U I657;
- U I658;
- U * I659;
- U I660;
- U * I661;
- U I662;
- U I663;
- U * I664;
-};
-typedef struct pcbt {
- U * I384;
- UP I385;
- U I386;
- U I387;
- U I388;
- U I389;
- U I390;
- U I391;
-} PCBT;
-struct iptmpl {
- QIRD * I734;
- struct vcs_globals_t * I735;
- void * I737;
- UP I738;
- UP I739;
- struct iptmpl * I729[2];
-};
-typedef unsigned long long FileOffset;
-typedef struct _RmaMultiInputTable {
- U I881 :1;
- U I882 :1;
- U I672 :2;
- U I673 :4;
- U I674 :5;
- U I883 :1;
- U I884 :1;
- U I885 :1;
- U I886 :1;
- U I887 :1;
- U I888 :1;
- U I889;
- U I890;
- U I203;
- U I891;
- U I892 :1;
- U I893 :31;
- union {
- U utable;
- U edgeInputNum;
- } I699;
- U I894 :4;
- U I895 :4;
- U I896 :4;
- U I897 :4;
- U I898 :4;
- U I899 :4;
- U I900 :1;
- U I901 :1;
- U I902 :1;
- U I903 :1;
- U I904 :5;
- HsimExprChar * I905;
- UB * I906;
- UB * I907;
- struct _RmaMultiInputTable * I880;
- struct _RmaMultiInputTable * I909;
-} RmaMultiInputTable;
-typedef struct _HsCgPeriod {
- U I955;
- U I956;
-} HsCgPeriod;
-typedef struct {
- U I957[2];
- U I958 :1;
- U I959 :1;
- U I960 :8;
- U I961 :8;
- U I962 :8;
- U I963 :4;
- U I964 :1;
- U I965 :1;
- unsigned long long I966;
- unsigned long long I967;
- unsigned long long I968;
- unsigned long long I969;
- unsigned long long I956;
- U I955;
- U I970;
- U I971;
- U I972;
- U I973;
- U I974;
- HsCgPeriod * I975[10];
-} HsimSignalMonitor;
-typedef struct {
- FlatNodeNum I976;
- InstNum I977;
- U I915;
- scalar I978;
- UB I979;
- UB I980;
- UB I981;
- UB I982;
- UB I983;
- UB I984;
- U I985;
- U I986;
- U I987;
- U I988;
- U I989;
- U I990;
- U I991;
- U I992;
- U I993;
- HsimSignalMonitor * I994;
- RP I995;
- RmaTimeStamp64 I996;
- U I997;
- RmaTimeStamp64 I998;
- U I999;
- UB I1000;
-} HsimNodeRecord;
-typedef RP RCICODE;
-typedef struct {
- RP I1005;
- RP I729;
-} RmaIbfIp;
-typedef struct {
- RP I1005;
- RP pcode;
-} RmaIbfPcode;
-typedef struct {
- RmaEblk I726;
-} RmaEvTriggeredOrSyncLoadCg;
-typedef struct {
- RO I877;
- RP pcode;
-} SchedGateFanout;
-typedef struct {
- RO I877;
- RP pcode;
- U I936[4];
-} SchedSelectGateFanout;
-typedef struct {
- RP pcode;
- RmaEblklq I726;
-} SchedGateEblk;
-typedef struct {
- RP pcode;
- RmaEblklq I726;
- UB * I1006;
-} SchedSelectGateEblk;
-typedef struct {
- RP I1007;
- RP pfn;
- RP pcode;
-} RmaSeqPrimOutputEblkData;
-typedef struct {
- RmaEblk I726;
- RP I1008;
-} RmaAnySchedSampleSCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- vec32 I1009;
-} RmaAnySchedVCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- vec32 I776[1];
-} RmaAnySchedWCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- scalar I1010[1];
-} RmaAnySchedECg;
-typedef struct {
- U I1011;
- U I714;
- U I915;
- U I1012;
- RmaIbfIp * I1013;
- EBLK I726;
- void * val;
-} RmaThreadSchedCompiledLoads;
-typedef struct {
- U I714;
- U I722;
- RmaThreadSchedCompiledLoads * I1014;
-} RmaSchedCompileLoadsCg;
-typedef struct {
- RP I1015;
-} RmaRootCbkCg;
-typedef struct {
- RP I1016;
-} RmaRootForceCbkCg;
-typedef struct {
- RmaEblk I726;
- RP I1017;
-} RmaForceCbkJmpCg;
-typedef struct {
- U I5;
- U I722 :31;
- U I1018 :1;
- vec32 I808;
- U I1019;
- RP I1020;
- RP I1021;
-} RmaForceSelectorV;
-typedef struct {
- U I5;
- RmaIbfPcode I1027;
-} RmaNetTypeDriverGate;
-typedef struct {
- U I5;
- U I668;
- RmaIbfPcode I1027[1];
-} RmaNetTypeScatterGate;
-typedef struct {
- U I5;
- RmaIbfPcode I1027;
-} RmaNetTypeGatherGate;
-typedef struct {
- RmaIbfPcode I1028;
- U I1029 :3;
- U I1030 :1;
- U I1031 :1;
- U I890 :16;
-} RmaNbaGateOfn;
-typedef struct {
- U I5;
- NBS I1032;
- RmaIbfPcode I1028;
-} RmaNbaGate1;
-typedef struct {
- RP ptable;
- RP pfn;
- RP pcode;
-} Rma1InputGateFaninCgS;
-typedef struct RmaSeqPrimOutputS_ RmaSeqPrimOutputOnClkS;
-struct RmaSeqPrimOutputS_ {
- RP pfn;
- RP I1035;
- U state;
- U I1036;
- RP I1037;
- U I706;
- scalar val;
-};
-typedef struct {
- U I5;
- U iinput;
- UB I1039;
- RP I1040;
-} RmaCondOptLoad;
-typedef struct {
- U I5;
- U iinput;
- UB I1039;
- RP I1040;
-} RmaMacroStateUpdate;
-typedef struct {
- U I5;
- U state;
- U I1041;
- UB I1039;
- U * I1042;
-} RmaMacroState;
-typedef struct {
- U iinput;
- RP I1043;
-} RmaMultiInputLogicGateCg;
-typedef struct {
- U iinput;
- RP ptable;
- RP I1043;
-} RmaSeqPrimEdgeInputCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
-} RmaSched0GateCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- RP pfn;
-} RmaUdpDeltaGateCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- RP pfn;
- scalar I1044;
-} RmaSchedDeltaGateCg;
-typedef struct {
- UB I1045;
- RP I1046;
- RP I1047;
-} RmaPropNodeSeqLhsSCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- U I915;
- U I715[1];
-} RmaBitEdgeEblk;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaGateDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaGateBehavioralDelay;
-typedef struct {
- U I5;
- union {
- RP I1290;
- RP I1578;
- RP I1592;
- } I781;
- RmaIbfPcode I1028;
-} RmaMPDelay;
-typedef struct {
- U I5;
- RmaPulse I1048;
- RmaIbfPcode I1028;
-} RmaMPPulseHybridDelay;
-typedef struct {
- U I5;
- RmaIbfPcode I1028;
- RmaMps I1049;
-} RmaMPHybridDelay;
-typedef struct {
- U I5;
- U I1050;
- RmaIbfPcode I1028;
- RmaEblk I766;
-} RmaMPHybridDelayPacked;
-typedef struct {
- U I5;
- RmaIbfPcode I1028;
- RmaMpspNewCsdf I1051;
-} RmaMPPulseDelay;
-typedef struct {
- U I5;
- RmaMpsp I1051;
- RmaIbfPcode I1028;
-} RmaMPPulseOptHybridDelay;
-typedef struct _RmaBehavioralTransportDelay {
- U I5;
- RP I685;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaBehavioralTransportDelayS;
-typedef struct {
- U I5;
- U I685;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaNtcTransDelay;
-typedef struct {
- U I5;
- U I685;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransMpwOptDelay;
-typedef struct {
- U I5;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransZeroDelay;
-typedef struct {
- U I5;
- U I1052;
- U I1053;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaNtcTransDelayRF;
-typedef struct {
- U I5;
- U I1052;
- U I1053;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransMpwOptDelayRF;
-typedef struct {
- U I5;
- RP I1054;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaICTransDelay;
-typedef struct {
- U I5;
- RP I1054;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICTransMpwOptDelay;
-typedef struct {
- U I5;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICTransZeroDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICSimpleDelay;
-typedef struct {
- U I5;
- union {
- RP psimple;
- RP I1578;
- RP I1592;
- } I781;
- RmaIbfPcode I1028;
-} RmaICDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaPortDelay;
-typedef struct {
- U I890;
- RP I1058;
-} RmaRtlXEdgesLoad;
-typedef struct {
- U I5;
- RmaRtlXEdgesLoad I1058[(5)];
-} RmaRtlXEdgesHdr;
-typedef struct {
- U I5;
- US I1059;
- US I1060 :1;
- US I904 :15;
- RP I1061;
- RP I1062;
- RP I1063;
-} RmaRtlEdgeBlockHdr;
-typedef struct {
- RP I1064;
- RP I1065;
-} RemoteDbsedLoad;
-typedef struct {
- RmaEblk I726;
- RP I1066;
- RP I1067;
- U I1068 :16;
- U I1069 :2;
- U I1070 :2;
- U I1071 :1;
- U I1072 :8;
- U I904 :3;
- U I471;
- RP I1073;
- RP I811[(5)];
- RP I813[(5)];
- US I1074;
- US I1075;
- RemoteDbsedLoad I1076[1];
-} RmaRtlEdgeBlock;
-typedef struct TableAssign_ {
- struct TableAssign_ * I880;
- struct TableAssign_ * I798;
- U I5;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RP ptable;
- RP I1043;
-} TableAssign;
-typedef struct TableAssignLayoutOnClk_ {
- struct TableAssignLayoutOnClk_ * I880;
- struct TableAssignLayoutOnClk_ * I798;
- U I5;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RP ptable;
- RmaSeqPrimOutputOnClkS I1089;
- RmaEblk I726;
-} TableAssignLayoutOnClk;
-typedef struct {
- U state;
- U I1090;
-} RmaSeqPrimOutputOnClkOpt;
-typedef struct TableAssignLayoutOnClkOpt_ {
- struct TableAssignLayoutOnClkOpt_ * I880;
- struct TableAssignLayoutOnClkOpt_ * I798;
- U I1092;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RmaSeqPrimOutputOnClkOpt I1089;
- RmaSeqPrimOutputEblkData I1093;
-} TableAssignLayoutOnClkOpt;
-typedef struct {
- U I5;
- RP I798;
- RP I1094;
-} RmaTableAssignList;
-typedef struct {
- U I5;
- RP I798;
- RP I1094;
- RP I1095;
- RP I1037;
- US I706;
- UB I978;
- UB I1096;
- UB I1097;
- UB I772;
- RP I1098[0];
-} RmaThreadTableAssignList;
-typedef struct {
- RP I1095;
- RP I1037;
- US I706;
- UB I978;
- UB I1096;
- UB I1097;
- UB I772;
-} RmaThreadTableHeader;
-typedef struct {
- RP I1064;
-} RmaWakeupListCg;
-typedef struct {
- RP I1064;
-} RmaWakeupArrayCg;
-typedef struct {
- RP I1064;
- RP I1099;
-} RmaPreCheckWakeupListCg;
-typedef struct {
- RP I1064;
- RP I1099;
-} RmaPreCheckWakeupArrayCg;
-typedef struct {
- U I1100;
- U I706;
- RmaTimeStamp I1101[1];
-} RmaTsArray;
-typedef struct {
- U iinput;
- RP I1102;
-} RmaConditionsMdb;
-typedef struct {
- RP I1103;
- RP I1104;
- U I1105;
-} RmaTcListHeader;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
-} RmaTcCoreSimple;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
-} RmaTcCoreConditional;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1118;
-} RmaTcCoreConditionalOpt;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtc;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
-} RmaTcCoreSimpleNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1035;
-} RmaTcCoreSimpleNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
-} RmaTcCoreConditionalNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1118;
-} RmaTcCoreConditionalOptNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtcNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- RP I1035;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtcNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1035;
-} RmaTcCoreConditionalNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- U I1122;
- RP I1123;
- RP I1124;
- RP I1117;
- RP I1125;
- RP I1126;
- RmaTimeStamp I1127;
-} RmaTcCoreNochange;
-typedef struct {
- RP I1128;
- RP I880;
-} RmaTcCoreNochangeList;
-typedef struct {
- RP I1102;
- RmaTimeStamp I1129;
- scalar I1130;
-} RmaConditionalTSLoadNoList;
-typedef struct {
- RP I880;
- RP I1102;
- RmaTimeStamp I1129;
- scalar I1130;
-} RmaConditionalTSLoad;
-typedef struct {
- RmaTimeStamp I1129;
- scalar I1130;
- US I890;
- RP I1118;
-} RmaConditionalTSLoadOptNoList;
-typedef struct {
- RP I880;
- RmaTimeStamp I1129;
- scalar I1130;
- US I890;
- RP I1118;
-} RmaConditionalTSLoadOpt;
-typedef struct {
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtcNoList;
-typedef struct {
- RP I1035;
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtcNoListMdb;
-typedef struct {
- RP I880;
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtc;
-typedef struct {
- U I1132;
- U I1133;
- FlatNodeNum I1004;
- U I915;
- U I1134;
- U I1135;
- RmaIbfPcode I1028;
- union {
- scalar I1136;
- vec32 I1137;
- scalar * I1138;
- vec32 * I1139;
- } val;
-} RmaScanSwitchData;
-typedef struct {
- RP I880;
- RP I798;
- RP I1140;
-} RmaDoublyLinkedListElem;
-typedef struct {
- RP I1141;
- U I1142 :1;
- U I1143 :1;
- U I1144 :1;
- U I1145 :4;
- U I904 :25;
- U I1146;
-} RmaSwitchGateInCbkListInfo;
-typedef struct {
- union {
- RmaDoublyLinkedListElem I1640;
- RmaSwitchGateInCbkListInfo I2;
- } I699;
- RmaIbfPcode I1028;
-} RmaSwitchGate;
-typedef struct RmaNonEdgeLoadData1_ {
- US I1147;
- scalar val;
- scalar I1148 :1;
- scalar I1149 :1;
- scalar I1150 :1;
- scalar I1151 :1;
- scalar I1152 :1;
- U I1153;
- RP I811;
- RP I1154;
- RP I1004;
- RP I1155;
- RP I1156;
-} RmaNonEdgeLoadData1;
-typedef struct RmaNonEdgeLoadHdr1_ {
- UB I1148;
- UB I1157;
- UB I978;
- RmaNonEdgeLoadData1 * I1058;
- RmaNonEdgeLoadData1 * I798;
- void * I1158;
-} RmaNonEdgeLoadHdr1;
-typedef struct RmaNonEdgeLoadHdrPrl1_ {
- U I1159;
- RP I721;
-} RmaNonEdgeLoadHdrPrl1;
-typedef struct RmaChildClockProp_ {
- RP I811;
- RP I1160;
- RP I1004;
- RP pcode;
- scalar val;
-} RmaChildClockProp;
-typedef struct RmaChildClockPropList1_ {
- RmaChildClockProp * I1058;
- RmaChildClockProp * I798;
-} RmaChildClockPropList1;
-typedef struct {
- U I5;
- U I1161;
-} RmaHDLCosimDUTGate;
-typedef struct {
- UB I1162;
- UB I1163 :1;
- UB I1164 :1;
- UB I1165 :1;
- UB I1166 :1;
- UB I904 :4;
- US cedges;
-} RmaMasterXpropLoadHdr;
-typedef struct {
- UB I1167;
- UB I1168;
- UB I1169;
- UB I1170;
- U cedges :30;
- U I1164 :1;
- U I1171 :1;
- U I1172;
- U I1173;
- RP I1174;
- RP I1175;
- RmaRtlEdgeBlockHdr * I1176;
-} RmaChildXpropLoadHdr;
-struct clock_load {
- U I181 :5;
- U I182 :12;
- U I183 :1;
- U I184 :2;
- U I185 :1;
- U I186 :1;
- U I187 :1;
- U I188 :9;
- U I189;
- U I190;
- void (* pfn)(void * I192, char val);
-};
-typedef struct clock_data {
- U I197 :1;
- U I198 :1;
- U I199 :1;
- U I200 :1;
- U I181 :5;
- U I182 :12;
- U I201 :6;
- U I202 :1;
- U I184 :2;
- U I185 :1;
- U I188 :1;
- U I203;
- U I204;
- U I205;
- U I189;
- U I206;
- U I207;
- U I208;
- U I209;
- U I210;
-} HdbsClockData;
-struct clock_hiconn {
- U I214;
- U I215;
- U I189;
- U I184;
-};
-typedef struct _RmaDaiCg {
- RP I1177;
- RP I1178;
- U I1179;
-} RmaDaiCg;
-typedef union _RmaCbkMemOptUnion {
- RP I1177;
- RP I1180;
- RP I1181;
-} RmaCbkMemOptUnion;
-typedef struct _RmaDaiOptCg {
- RmaCbkMemOptUnion I1182;
-} RmaDaiOptCg;
-struct futq_slot2 {
- U I758;
- U I759[32];
-};
-struct futq_slot1 {
- U I755;
- struct futq_slot2 I756[32];
-};
-struct futq_info {
- scalar * I750;
- U I751;
- U I752;
- struct futq_slot1 I753[32];
-};
-struct futq {
- struct futq * I740;
- struct futq * I742;
- RmaEblk * I743;
- RmaEblk * I744;
- U I731;
- U I1;
-};
-struct sched_table {
- struct futq * I745;
- struct futq I746;
- struct hash_bucket * I747;
- struct hash_bucket * I749;
-};
-struct dummyq_struct {
- clock_struct I1183;
- EBLK * I1184;
- EBLK * I1185;
- EBLK * I1186;
- struct futq * I1187;
- struct futq * I1188;
- struct futq * I1189;
- struct sched_table * I1190;
- struct futq_info * I1192;
- struct futq_info * I1194;
- U I1195;
- U I1196;
- U I1197;
- U I1198;
- U I1199;
- U I1200;
- U I1201;
- struct millenium * I1202;
- EBLK * I1204;
- EBLK * I1205;
- EBLK * I1206;
- EBLK * I1207;
- EBLK * I1208;
- EBLK * I1209;
- EBLK * I1210;
- EBLK * I1211;
- EBLK * I1212;
- EBLK * I1213;
- EBLK * I1214;
- EBLK * I1215;
- EBLK * I1216;
- EBLK * I1217;
- EBLK * I1218;
- EBLK * I1219;
- EBLK * I1220;
- EBLK * I1221;
- MPS * I1222;
- struct retain_t * I1223;
- EBLK * I1224;
- EBLK * I1225;
- EBLK * I1226;
- EBLK * I1227;
- EBLK * I1228;
- EBLK * I1229;
- EBLK * I1230;
- EBLK * I1231;
- EBLK * I1232;
- EBLK * I1233;
- EBLK * I1234;
- EBLK * I1235;
- EBLK * I1236;
- EBLK * I1237;
- EBLK * I1238;
- EBLK * I1239;
- EBLK * I1240;
- EBLK * I1241;
- EBLK * I1242;
- EBLK * I1243;
- EBLK * I1244;
- EBLK * I1245;
- EBLK * I1246;
- EBLK * I1247;
- EBLK * I1248;
- EBLK * I1249;
- EBLK I1250;
- EBLK * I1251;
- EBLK * I1252;
- EBLK * I1253;
- EBLK * I1254;
- int I1255;
- int I1256;
- struct vcs_globals_t * I1257;
- clock_struct I1258;
- unsigned long long I1259;
- EBLK * I1260;
- EBLK * I1261;
- void * I1262;
-};
-typedef void (* FP)(void * , scalar );
-typedef void (* FP1)(void * );
-typedef void (* FPRAP)(void * , vec32 * , U );
-typedef U (* FPU1)(void * );
-typedef void (* FPV)(void * , UB * );
-typedef void (* FPVU)(void * , UB * , U );
-typedef void (* FPLSEL)(void * , scalar , U );
-typedef void (* FPLSELV)(void * , vec32 * , U , U );
-typedef void (* FPFPV)(UB * , UB * , U , U , U , U , U , UB * , U );
-typedef void (* FPFA)(UB * , UB * , U , U , U , U , U , U , UB * , U );
-typedef void (* FPRPV)(UB * , U , U , U );
-typedef void (* FPEVCDLSEL)(void * , scalar , U , UB * );
-typedef void (* FPEVCDLSELV)(void * , vec32 * , U , U , UB * );
-typedef void (* FPNTYPE_L)(void * , void * , U , U , UB * , UB * , UB * , UB * , UB * , UB * , UB * , U );
-typedef void (* FPNTYPE_H)(void * , void * , U , U , UB * , UB * , UB * , UB * , U );
-typedef void (* FPNTYPE_LPAP)(void * , void * , void * , U , U , UB * , UB * , U );
-typedef void (* FPNTYPE_HPAP)(void * , void * , void * , U , U , UB * , UB * , UB * , UB * , U );
-typedef struct _lqueue {
- EBLK * I727;
- EBLK * I1263;
- int I1264;
- struct _lqueue * I769;
-} Queue;
-typedef struct {
- void * I1266;
- void * I1267;
- void * I1268[2];
- void * I1269;
-} ClkLevel;
-typedef struct {
- unsigned long long I1270;
- EBLK I1171;
- U I1271;
- U I1272;
- union {
- void * pHeap;
- Queue * pList;
- } I699;
- unsigned long long I1273;
- ClkLevel I1274;
- Queue I1275[1];
-} Qhdr;
-extern UB Xvalchg[];
-extern UB X4val[];
-extern UB X3val[];
-extern UB X2val[];
-extern UB XcvtstrTR[];
-extern UB Xcvtstr[];
-extern UB Xbuf[];
-extern UB Xbitnot[];
-extern UB Xwor[];
-extern UB Xwand[];
-extern U Xbitnot4val[];
-extern UB globalTable1Input[];
-extern __thread unsigned long long vcs_clocks;
-extern UB Xunion[];
-extern U fRTFrcRelCbk;
-extern FP txpFnPtr;
-extern FP rmaFunctionArray[];
-extern UP rmaFunctionRtlArray[];
-extern FP rmaFunctionLRArray[];
-extern U rmaFunctionCount;
-extern U rmaFunctionLRCount;
-extern U rmaFunctionLRDummyCount;
-extern UP rmaFunctionDummyEndPtr;
-extern FP rmaFunctionFanoutArray[];
-extern __thread UB dummyScalar;
-extern __thread UB fScalarIsForced;
-extern __thread UB fScalarIsReleased;
-extern U fNotimingchecks;
-extern U fFsdbDumpOn;
-extern RP * iparr;
-extern FP1 * rmaPostAnySchedFnPtr;
-extern FP1 * rmaPostAnySchedFnSamplePtr;
-extern FP1 * rmaPostAnySchedVFnPtr;
-extern FP1 * rmaPostAnySchedWFnPtr;
-extern FP1 * rmaPostAnySchedEFnPtr;
-extern FP1 * rmaPostSchedUpdateClockStatusFnPtr;
-extern FP1 * rmaPostSchedUpdateClockStatusNonCongruentFnPtr;
-extern FP1 * rmaPostSchedUpdateEvTrigFnPtr;
-extern FP1 * rmaSched0UpdateEvTrigFnPtr;
-extern FP1 * rmaPostSchedRecoveryResetDbsFnPtr;
-extern U fGblDataOrTime0Prop;
-extern UB rmaEdgeStatusValArr[];
-extern FP1 * propForceCbkSPostSchedCgFnPtr;
-extern FP1 * propForceCbkMemoptSPostSchedCgFnPtr;
-extern UB * ptableGbl;
-extern U * vcs_ptableOffsetsGbl;
-extern UB * expandedClkValues;
-extern __thread Qhdr * lvlQueue;
-extern __thread unsigned threadIndex;
-extern int cPeblkThreads;
-extern US xedges[];
-extern U mhdl_delta_count;
-extern U ignoreSchedForScanOpt;
-extern U fignoreSchedForDeadComboCloud;
-extern int fZeroUser;
-extern U fEveBusPullVal;
-extern U fEveBusPullFlag;
-extern U fFutEventPRL;
-extern U fParallelEBLK;
-extern U fBufferingEvent;
-extern __thread UB fNettypeIsForced;
-extern __thread UB fNettypeIsReleased;
-extern EBLK * peblkFutQ1Head;
-extern EBLK * peblkFutQ1Tail;
-extern US * edgeActionT;
-extern unsigned long long * derivedClk;
-extern U fHashTableSize;
-extern U fSkipStrChangeOnDelay;
-extern U fHsimTcheckOpt;
-extern scalar edgeChangeLookUp[4][4];
-extern U fDoingTime0Prop;
-extern U fLoopDetectMode;
-extern int gFLoopDectCodeEna;
-extern U fLoopReportRT;
-
-
-extern void *mempcpy(void* s1, void* s2, unsigned n);
-extern UB* rmaEvalDelays(UB* pcode, scalar val);
-extern UB* rmaEvalDelaysV(UB* pcode, vec32* pval);
-extern void rmaPopTransEvent(UB* pcode);
-extern void rmaSetupFuncArray(UP* ra, U c, U w);
-extern void rmaSetupRTLoopReportPtrs(UP* funcs, UP* rtlFuncs, U cnt, U cntDummy, UP end);
-extern void SinitHsimPats(void);
-extern void VVrpDaicb(void* ip, U nIndex);
-extern int SDaicb(void *ip, U nIndex);
-extern void SDaicbForHsimNoFlagScalar(void* pDaiCb, unsigned char value);
-extern void SDaicbForHsimNoFlagStrengthScalar(void* pDaiCb, unsigned char value);
-extern void SDaicbForHsimNoFlag(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimNoFlag2(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimWithFlag(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimNoFlagFrcRel(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
-extern void SDaicbForHsimNoFlagFrcRel2(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
-extern void VcsHsimValueChangeCB(void* pRmaDaiCg, void* pValue, unsigned int valueFormat);
-extern U isNonDesignNodeCallbackList(void* pRmaDaiCg);
-extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void VVrpNonEventNonRegdScalarForHsimOptCbkMemopt(void* ip, U nIndex);
-extern void SDaicbForHsimCbkMemOptNoFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptNoFlagDynElabFrcRel(U* mem, unsigned char reason, int msb, int lsb, int ndx);
-extern void SDaicbForHsimCbkMemOptNoFlagFrcRel(void* pDaiCb, unsigned char reason, int msb, int lsb, int ndx);
-extern void hsimDispatchCbkMemOptForVcd(RP p, U val);
-extern void* hsimGetCbkMemOptCallback(RP p);
-extern void hsimDispatchCbkMemOptNoDynElabS(RP* p, U val, U isStrength);
-extern void* hsimGetCbkPtrNoDynElab(RP p);
-extern void hsimDispatchCbkMemOptDynElabS(U** pvcdarr, U** pcbkarr, U val, U isScalForced, U isScalReleased, U isStrength);
-extern void hsimDispatchCbkMemOptNoDynElabVector(RP* /*RmaDaiOptCg* */p, void* pval, U /*RmaValueType*/ vt, U cbits);
-extern void copyAndPropRootCbkCgS(RmaRootCbkCg* pRootCbk, scalar val);
-extern void copyAndPropRootCbkCgV(RmaRootCbkCg* rootCbk, vec32* pval);
-extern void copyAndPropRootCbkCgW(RmaRootCbkCg* rootCbk, vec32* pval);
-extern void copyAndPropRootCbkCgE(RmaRootCbkCg* rootCbk, scalar* pval);
-extern void Wsvvar_callback_non_dynamic1(RP* ptr, int);
-extern void rmaExecEvSyncList(RP plist);
-extern void Wsvvar_callback_virt_intf(RP* ptr);
-extern void Wsvvar_callback_hsim_var(RP* ptr);
-extern void checkAndConvertVec32To2State(vec32* value, vec32* svalue, U cbits, U* pforcedBits);
-extern unsigned int fGblDataOrTime0Prop;
-extern void SchedSemiLerMP1(UB* pmps, U partId);
-extern void SchedSemiLerMPO(UB* pmpso, U partId);
-extern void rmaDummyPropagate(void);
-extern RP rmaTestCg(RP pcode, U vt, UB* value);
-extern void hsUpdateModpathTimeStamp(UB* pmps);
-extern void doMpd32One(UB* pmps);
-extern void doMpdCommon(MPS* pmps);
-extern TimeStamp GET_DIFF_DELAY_FUNC(TimeStamp ts);
-extern void SchedSemiLerMP(UB* ppulse, U partId);
-extern EBLK *peblkFutQ1Head;
-extern EBLK *peblkFutQ1Tail;
-extern void scheduleuna(UB *e, U t);
-extern void scheduleuna_mp(EBLK *e, unsigned t);
-extern void schedule(UB *e, U t);
-extern void sched_hsopt(struct dummyq_struct * pQ, EBLK *e, U t);
-extern void sched_millenium(struct dummyq_struct * pQ, void *e, U thigh, U t);
-extern void schedule_1(EBLK *e);
-extern void sched0(UB *e);
-extern void sched0Raptor(UB *e);
-extern void sched0lq(EBLK *e);
-extern void sched0lqnc(EBLK *e);
-extern void sched0una(UB *e);
-extern void sched0una_th(struct dummyq_struct *pq, UB *e);
-extern void hsopt_sched0u_th(struct dummyq_struct *pq, UB *e);
-extern void scheduleuna_mp_th(struct dummyq_struct *pq, EBLK *e, unsigned t);
-extern void schedal(UB *e);
-extern void sched0_th(struct dummyq_struct * pQ, EBLK *e);
-extern void sched0u(UB *e);
-extern void sched0u_th(struct dummyq_struct *pq, UB *e);
-extern void sched0_hsim_front_th(struct dummyq_struct * pQ, UB *e);
-extern void sched0_hsim_frontlq_th(struct dummyq_struct * pQ, UB *e);
-extern void sched0lq_th(struct dummyq_struct * pQ, UB *e);
-extern void schedal_th(struct dummyq_struct * pQ, UB *e);
-extern void scheduleuna_th(struct dummyq_struct * pQ, void *e, U t);
-extern void schedule_th(struct dummyq_struct * pQ, UB *e, U t);
-extern void schedule_1_th(struct dummyq_struct * pQ, EBLK *peblk);
-extern void SetupLER_th(struct dummyq_struct * pQ, EBLK *e);
-extern void FsdbReportClkGlitch(UB*,U);
-extern void AddToClkGLitchArray(EBLK*);
-extern void SchedSemiLer_th(struct dummyq_struct * pQ, EBLK *e);
-extern void SchedSemiLerTXP_th(struct dummyq_struct * pQ, EBLK *e);
-extern void SchedSemiLerTXPFreeVar_th(struct dummyq_struct * pQ, EBLK *e);
-extern U getVcdFlags(UB *ip);
-extern void VVrpNonEventNonRegdScalarForHsimOpt(void* ip, U nIndex);
-extern void VVrpNonEventNonRegdScalarForHsimOpt2(void* ip, U nIndex);
-extern void SchedSemiLerTBReactiveRegion(struct eblk* peblk);
-extern void SchedSemiLerTBReactiveRegion_th(struct eblk* peblk, U partId);
-extern void SchedSemiLerTr(UB* peblk, U partId);
-extern void SchedSemiLerNBA(UB* peblk, U partId);
-extern void NBA_Semiler(void *ip, void *pNBS);
-extern void sched0sd_hsim(UB* peblk);
-extern void vcs_sched0sd_hsim_udpclk(UB* peblk);
-extern void vcs_sched0sd_hsim_udpclkopt(UB* peblk);
-extern void sched0sd_hsim_PRL(UB* peblk);
-extern void sched0lq_parallel_clk(EBLK* peblk);
-extern U isRtlClockScheduled(EBLK* peblk);
-extern void doFgpRaceCheck(UB* pcode, UB* p, U flag);
-extern void doSanityLvlCheck();
-extern void sched0lq_parallel_ova(EBLK* peblk);
-extern void sched0lq_parallel_ova_precheck(EBLK* peblk);
-extern void rmaDlpEvalSeqPrim(UB* peblk, UB val, UB preval);
-extern void appendNtcEvent(UB* phdr, scalar s, U schedDelta);
-extern void appendTransEventS(RmaTransEventHdr* phdr, scalar s, U schedDelta);
-extern void schedRetainHsim(MPS* pMPS, scalar sv, scalar pv);
-extern void updateRetainHsim(MPS* pMPS,scalar sv, scalar pv);
-extern void hsimCountXEdges(void* record, scalar s);
-extern void hsimRegisterEdge(void* sm, scalar s);
-extern U pvcsGetPartId();
-extern void HsimPVCSPartIdCheck(U instNo);
-extern void debug_func(U partId, struct dummyq_struct* pQ, EBLK* EblkLastEventx);
-extern struct dummyq_struct* pvcsGetQ(U thid);
-extern EBLK* pvcsGetLastEventEblk(U thid);
-extern void insertTransEvent(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, int re, UB* predd, U fpdd);
-extern void insertNtcEventRF(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, U* delays);
-extern U doTimingViolation(RmaTimeStamp ts,RP* pdata, U fskew, U limit, U floaded, U fcondopt, RmaTimeStamp tsNochange);
-extern void sched_gate_hsim(EBLK* peblk, unsigned t, RP* offset, U gd_info, U encodeInPcode, void* propValue);
-extern int getCurSchedRegion();
-extern FP getRoutPtr(RP, U);
-extern U rmaChangeCheckAndUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
-extern void rmaUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
-extern U rmaChangeCheckAndUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaLhsPartSelUpdateE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
-extern void rmaUpdateWithForceSelectorE(scalar* pvalDst, scalar* pvalSrc, U cbits, U* pforceSelector);
-extern void rmaUpdateWFromE(vec32* pvalDst, scalar* pvalSrc, U cbits);
-extern U rmaLhsPartSelWithChangeCheckE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
-extern void rmaLhsPartSelWFromE(vec32* pvalDst, scalar* pvalSrc, U index,U width);
-extern U rmaChangeCheckAndUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
-extern void *VCSCalloc(size_t size, size_t count);
-extern void *VCSMalloc(size_t size);
-extern void VCSFree(void *ptr);
-extern U rmaLhsPartSelWithChangeCheckW(vec32* pvalDst, vec32* pvalSrc, U index,U width);
-extern void rmaLhsPartSelEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
-extern U rmaLhsPartSelWithChangeCheckEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
-extern void rmaLhsPartSelUpdateW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
-extern void rmaEvalWunionW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalWorW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalWandW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalUnionE(scalar* dst, scalar* src, U cbits, U count, RP ptable);
-typedef U RmaCgFunctionType;
-extern RmaIbfPcode* rmaEvalPartSelectsW(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsWLe32(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsWToE(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
-extern RmaIbfPcode* rmaEvalPartSelectsEToE(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsEToW(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
-extern U rmaEvalBitPosEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitNegEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitChangeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U VcsForceVecVCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U/*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecVCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecWCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecWCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecECg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecACg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecCg(UB* pcode, UB* pvDst, U ibeginDst, U width, U /*RmaValueType*/ type,U fisRoot, UB* prhsDst, U frhs, U* pforcedbits);
-extern U VcsDriveBitsAndDoChangeCheckV(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern U VcsDriveBitsAndDoChangeCheckW(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern U VcsDriveBitsAndDoChangeCheckE(scalar* pvSel, scalar* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern void cgvecDebug_Eblk(UB* pcode);
-extern U rmaCmpW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
-extern void copyVec32ArrMask(vec32* pv1, vec32* pv2, U len, U* mask);
-extern void* memcpy(void*, const void*, size_t);
-extern int memcmp(const void*, const void*, size_t);
-extern void propagateScanOptPathVal(EBLK *peblk);
-extern UB* rmaProcessScanSwitches(UB* pcode, scalar val);
-extern UB* rmaProcessScanSwitchesV(UB* pcode, vec32 *pval);
-extern UB* rmaProcessScanoptDump(UB* pcode, scalar val);
-extern UB* rmaProcessScanoptDumpV(UB* pcode, vec32 *pval);
-extern UB* rmaProcessScanChainOptSeqPrims(UB* pcode, scalar val);
-extern void rmaProcessPvcsCcn(UB* pcode, scalar val);
-extern void rmaProcessPvcsCcnE(UB* pcode, scalar* val);
-extern void rmaProcessPvcsCcnW(UB* pcode, vec32* val);
-extern void rmaProcessPvcsCcnV(UB* pcode, vec32* val);
-extern void rmaProcessPvcsCcnCompiledS(UB* pcode, U offset, scalar ibnval);
-extern void rmaProcessPvcsCcnCompiledV(UB* pcode, U offset, vec32* pval);
-extern void schedResetRecoveryDbs(U cedges, EBLK* peblkFirst);
-extern UB* rmaEvalUnaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpVOneFanoutCount(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpVLargeFanoutCount(UB* pcode, vec32* pval);
-extern UB* rmaEvalAndOpVOneFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalAndOpVLargeFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalAndOpV(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpVOneFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpVLargeFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpV(UB* pcode, vec32* value);
-extern UB* rmaEvalTernaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalUnaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalTernaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalUnaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalBinaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalTernaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalTernaryOpS(UB* pcode, scalar val);
-extern scalar rmaGetScalarFromWCg(vec32* pval, U index);
-extern void rmaSetScalarInWCg(vec32* pval, U index, scalar s);
-extern void rmaSetWInW(vec32* dst, vec32* src, U index, U indexSrc, U width);
-extern void rmaCountRaptorBits(void* pval, void* pvalPrev, U cbits, U vt);
-extern void setHsimFunc(void* ip);
-extern void unsetHsimFunc(void* ip);
-extern UB* getEvcdStatusByFlagsE(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsV(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsW(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsS(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table);
-extern UB* getSingleDrvEvcdStatusS(UB value, U fTBDriver);
-extern UB* getSingleDrvEvcdStatusE(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getSingleDrvEvcdStatusV(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getSingleDrvEvcdStatusW(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getEvcdStatusByDrvEvcdStatus(UB* pdrvevcdStatus, U cdrivers, UB* table, U cbits);
-extern void evcdCallback(UP pcode, U cbits);
-extern UB* getSavedEvcdStatus(void);
-extern void saveEvcdStatus(UB*);
-extern void mhdlMarkExport(void*, U);
-extern void levelInsertQueue(int);
-extern void VcsRciRtl(RP pcode);
-extern U fLoopDetectMode;
-extern int gFLoopDectCodeEna;
-extern U fLoopReportRT;
-extern void rtSched0LoopDectDumpProcess(void* e, void* rtn, void* PQ);
-extern void pushHsimRtnCtxt(void* pcode);
-extern void popHsimRtnCtxt();
-extern EBLK* loopReportInlinedSched0Wrapper(EBLK *peblk);
-extern void loopReportSched0Wrapper(EBLK *peblk, unsigned int sfType, unsigned int fTH, struct dummyq_struct* pq);
-extern void loopReportSchedSemiLerWrapper(EBLK *peblk, int sfType);
-extern void CallGraphPushNodeAndAddToGraph(UP flatNode, UP instNum, U dummy);
-extern void CallGraphPopNode(void);
-extern RP elabGetIpTpl(U in);
-extern U rmaEvalBitBothEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ1W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQXW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ0W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval01EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval0XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval10EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval1XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalX1EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalX0EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitPosEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitNegEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitBothEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ1E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ0E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitChangeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern void rmaScheduleNbaGate(RP pcode, scalar val);
-extern void rmaEvalRtlEdgeLoads(RmaRtlEdgeBlockHdr *phdr, US clkEdge, scalar clkVal, scalar prevClkVal, scalar val4, scalar prevval4, scalar master4val);
-extern void rmaEvaluateDynamicGateLoadsCg(RP p, scalar s);
-extern void rmaEvaluateFusedWithDynamicGateLoadsCg(RP p, scalar s);
-extern void rmaScheduleGatedClockEdgeLoadNew(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v);
-extern void rmaScheduleGatedClockEdgeLoad(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v);
-extern void rmaRemoveNonEdgeLoads(UB* pcode);
-extern void rmaRecordEvents(HsimNodeRecord *pnr);
-extern void handlePCBs(UB* p, U i);
-extern void markMasterClkOvaLists(U fdbs, RP p);
-extern void rmaChildClockPropAfterWrite(UB* p);
-extern void rmaSchedChildClockPropAfterWrite(UB* p, UB* pmasterList, UB val);
-extern void HDLCosimProcessDUTInputChange(U inputId, void* val);
-extern void rmaChangeListForMovedGates(UB clkVal, UB f10Edge, UB* subMasterVal, UB* plist, RP* p, U count);
-extern void rmaEvalSeqPrimLoadsByteArray(UB* pcode, UB val, UB prevval4);
-extern void rmaEvalSeqPrimLoadsByteArrayX(UB* pcode, UB val, UB prevval4);
-extern void vcsRmaEvalSeqPrimLoadsByteArraySCT(UB* pcode, UB val, UB prevval4, U c);
-extern void vcsAbortForBadEBlk(void);
-extern scalar edgeChangeLookUp[4][4];
-extern void Wsvvar_sched_virt_intf_eval(RP* ptr);
-extern void vcs_hwcosim_drive_dut_scalar(uint id, char val);
-extern void vcs_hwcosim_drive_dut_vector_4state(uint id, vec32* val);
-extern U vcs_rmaGetClkValForSeqUdpLayoutOnClkOpt(UB* poutput);
-extern U rmaIsS2State(scalar s);
-extern U rmaIsV2State(vec32* pval, U cbits);
-extern U rmaIsW2State(vec32* pval, U cbits);
-extern U rmaIsE2State(scalar* pval, U cbits);
-extern void rmaUpdateRecordFor2State(HsimNodeRecord* record, U f2state);
-typedef void (*FuncPtr)();
-static inline U asm_bsf (U in)
-{
-#if defined(linux)
- U out;
-#if !defined(__aarch64__)
- asm ("movl %1, %%eax; bsf %%eax, %%eax; movl %%eax, %0;"
- :"=r"(out)
- :"r"(in)
- :"%eax"
- );
-#else
- out = ffs(in) - 1;
-#endif
- return out;
-#else
- return 0;
-#endif
-}
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-void hs_0_M_6_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_6_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_6_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_6_2__simv_daidir (UB * pcode);
-void hs_0_M_6_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_8_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_8_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_8_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_8_2__simv_daidir (UB * pcode);
-void hs_0_M_8_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_9_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_9_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_9_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_9_2__simv_daidir (UB * pcode);
-void hs_0_M_9_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_9_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_10_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_10_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_10_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_10_2__simv_daidir (UB * pcode);
-void hs_0_M_10_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_11_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_11_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_11_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_11_2__simv_daidir (UB * pcode);
-void hs_0_M_11_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_12_2__simv_daidir (UB * pcode);
-void hs_0_M_12_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_13_2__simv_daidir (UB * pcode);
-void hs_0_M_13_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_13_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_14_2__simv_daidir (UB * pcode);
-void hs_0_M_14_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_15_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_15_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_15_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_15_2__simv_daidir (UB * pcode);
-void hs_0_M_15_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_16_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_16_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_16_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_16_2__simv_daidir (UB * pcode);
-void hs_0_M_16_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_17_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_17_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_17_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_17_2__simv_daidir (UB * pcode);
-void hs_0_M_17_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_17_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_18_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_18_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_18_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_18_2__simv_daidir (UB * pcode);
-void hs_0_M_18_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_19_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_19_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_19_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_19_2__simv_daidir (UB * pcode);
-void hs_0_M_19_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_19_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_20_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_20_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_20_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_20_2__simv_daidir (UB * pcode);
-void hs_0_M_20_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_20_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_21_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_21_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_21_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_21_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_22_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_22_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_22_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_22_2__simv_daidir (UB * pcode);
-void hs_0_M_22_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_22_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_23_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_23_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_23_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_23_2__simv_daidir (UB * pcode);
-void hs_0_M_23_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_23_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_25_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_25_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_25_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_25_2__simv_daidir (UB * pcode);
-void hs_0_M_25_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_25_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_26_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_26_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_26_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_26_2__simv_daidir (UB * pcode);
-void hs_0_M_26_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_26_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_28_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_28_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_28_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_28_2__simv_daidir (UB * pcode);
-void hs_0_M_28_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_28_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_29_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_29_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_29_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_29_2__simv_daidir (UB * pcode);
-void hs_0_M_29_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_29_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_34_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_34_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_34_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_34_2__simv_daidir (UB * pcode);
-void hs_0_M_34_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_34_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_35_2__simv_daidir (UB * pcode);
-void hs_0_M_35_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_35_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_36_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_36_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_36_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_36_2__simv_daidir (UB * pcode);
-void hs_0_M_36_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_37_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_37_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_37_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_37_2__simv_daidir (UB * pcode);
-void hs_0_M_37_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_38_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_38_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_38_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_38_2__simv_daidir (UB * pcode);
-void hs_0_M_38_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_39_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_39_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_39_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_39_2__simv_daidir (UB * pcode);
-void hs_0_M_39_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_40_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_40_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_40_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_40_2__simv_daidir (UB * pcode);
-void hs_0_M_40_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_41_2__simv_daidir (UB * pcode);
-void hs_0_M_41_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_42_2__simv_daidir (UB * pcode);
-void hs_0_M_42_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_43_2__simv_daidir (UB * pcode);
-void hs_0_M_43_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_44_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_44_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_44_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_44_2__simv_daidir (UB * pcode);
-void hs_0_M_44_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_44_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_45_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_45_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_45_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_45_2__simv_daidir (UB * pcode);
-void hs_0_M_45_9__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_45_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_46_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_47_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_47_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_47_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_47_2__simv_daidir (UB * pcode);
-void hs_0_M_47_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_48_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_48_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_48_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_48_2__simv_daidir (UB * pcode);
-void hs_0_M_48_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_49_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_49_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_49_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_49_2__simv_daidir (UB * pcode);
-void hs_0_M_49_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_50_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_50_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_50_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_50_2__simv_daidir (UB * pcode);
-void hs_0_M_50_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_51_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_51_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_51_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_51_2__simv_daidir (UB * pcode);
-void hs_0_M_51_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_58_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_58_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_58_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_58_2__simv_daidir (UB * pcode);
-void hs_0_M_58_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_59_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_59_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_59_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_59_2__simv_daidir (UB * pcode);
-void hs_0_M_59_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_60_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_60_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_60_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_60_2__simv_daidir (UB * pcode);
-void hs_0_M_60_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_61_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_61_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_61_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_61_2__simv_daidir (UB * pcode);
-void hs_0_M_61_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_67_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_67_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_67_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_84_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_84_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_84_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_89_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_92_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_92_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_92_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_93_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_93_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_93_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_93_2__simv_daidir (UB * pcode);
-void hs_0_M_93_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_93_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_94_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_94_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_94_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_94_2__simv_daidir (UB * pcode);
-void hs_0_M_94_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_94_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_95_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_95_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_95_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_95_2__simv_daidir (UB * pcode);
-void hs_0_M_95_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_95_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_96_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_96_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_96_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_96_2__simv_daidir (UB * pcode);
-void hs_0_M_96_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_96_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_97_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_97_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_97_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_97_2__simv_daidir (UB * pcode);
-void hs_0_M_97_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_98_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_98_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_98_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_98_2__simv_daidir (UB * pcode);
-void hs_0_M_98_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_99_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_99_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_99_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_99_2__simv_daidir (UB * pcode);
-void hs_0_M_99_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_100_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_100_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_100_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_100_2__simv_daidir (UB * pcode);
-void hs_0_M_100_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_101_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_101_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_101_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_101_2__simv_daidir (UB * pcode);
-void hs_0_M_101_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_102_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_102_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_102_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_102_2__simv_daidir (UB * pcode);
-void hs_0_M_102_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_104_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_104_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_104_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_104_2__simv_daidir (UB * pcode);
-void hs_0_M_104_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_105_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_105_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_105_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_105_2__simv_daidir (UB * pcode);
-void hs_0_M_105_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_106_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_106_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_106_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_106_2__simv_daidir (UB * pcode);
-void hs_0_M_106_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_107_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_107_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_107_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_107_2__simv_daidir (UB * pcode);
-void hs_0_M_107_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_108_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_108_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_108_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_108_2__simv_daidir (UB * pcode);
-void hs_0_M_108_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_108_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_109_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_109_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_109_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_109_2__simv_daidir (UB * pcode);
-void hs_0_M_109_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_110_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_110_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_110_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_110_2__simv_daidir (UB * pcode);
-void hs_0_M_110_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_113_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_113_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_113_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_114_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_114_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_114_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_114_2__simv_daidir (UB * pcode);
-void hs_0_M_114_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_114_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_115_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_115_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_116_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_116_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_116_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_116_2__simv_daidir (UB * pcode);
-void hs_0_M_116_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_116_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_117_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_117_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_117_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_117_2__simv_daidir (UB * pcode);
-void hs_0_M_117_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_118_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_119_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_119_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_119_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_119_2__simv_daidir (UB * pcode);
-void hs_0_M_119_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_120_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_120_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_120_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_120_2__simv_daidir (UB * pcode);
-void hs_0_M_120_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_121_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_121_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_121_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_121_2__simv_daidir (UB * pcode);
-void hs_0_M_121_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_122_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_123_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_124_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_125_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_125_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_125_5__simv_daidir (UB * pcode, U I915);
-void hs_0_M_126_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_126_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_126_5__simv_daidir (UB * pcode, U I915);
-void hs_0_M_127_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_128_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_128_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_129_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_129_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_129_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_129_2__simv_daidir (UB * pcode);
-void hs_0_M_129_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_130_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_130_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_130_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_130_2__simv_daidir (UB * pcode);
-void hs_0_M_130_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_131_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_131_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_131_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_131_2__simv_daidir (UB * pcode);
-void hs_0_M_131_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_134_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_134_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_134_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_134_2__simv_daidir (UB * pcode);
-void hs_0_M_134_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_135_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_135_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_135_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_135_2__simv_daidir (UB * pcode);
-void hs_0_M_135_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_136_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_136_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_136_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_136_2__simv_daidir (UB * pcode);
-void hs_0_M_136_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_137_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_137_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_137_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_137_2__simv_daidir (UB * pcode);
-void hs_0_M_137_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_138_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_138_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_138_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_138_2__simv_daidir (UB * pcode);
-void hs_0_M_138_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_139_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_139_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_139_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_139_2__simv_daidir (UB * pcode);
-void hs_0_M_139_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_140_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_140_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_140_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_140_2__simv_daidir (UB * pcode);
-void hs_0_M_140_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_143_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_143_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_143_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_143_2__simv_daidir (UB * pcode);
-void hs_0_M_143_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_144_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_144_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_144_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_144_2__simv_daidir (UB * pcode);
-void hs_0_M_144_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_145_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_145_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_145_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_145_2__simv_daidir (UB * pcode);
-void hs_0_M_145_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_146_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_146_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_146_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_146_2__simv_daidir (UB * pcode);
-void hs_0_M_146_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_147_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_147_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_147_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_147_2__simv_daidir (UB * pcode);
-void hs_0_M_147_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_148_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_150_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_150_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_150_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_150_2__simv_daidir (UB * pcode);
-void hs_0_M_150_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_151_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_151_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_151_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_151_2__simv_daidir (UB * pcode);
-void hs_0_M_151_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_152_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_152_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_152_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_152_2__simv_daidir (UB * pcode);
-void hs_0_M_152_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_153_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_153_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_153_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_153_2__simv_daidir (UB * pcode);
-void hs_0_M_153_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_153_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_154_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_154_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_154_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_154_2__simv_daidir (UB * pcode);
-void hs_0_M_154_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_154_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_155_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_155_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_155_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_155_2__simv_daidir (UB * pcode);
-void hs_0_M_155_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_156_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_156_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_156_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_156_2__simv_daidir (UB * pcode);
-void hs_0_M_156_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_157_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_157_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_157_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_159_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_159_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_159_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_160_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_160_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_160_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_160_2__simv_daidir (UB * pcode);
-void hs_0_M_160_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_163_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_163_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_163_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_165_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_165_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_165_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_169_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_169_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_169_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_169_2__simv_daidir (UB * pcode);
-void hs_0_M_169_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_170_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_170_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_170_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_170_2__simv_daidir (UB * pcode);
-void hs_0_M_170_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_171_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_171_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_171_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_171_2__simv_daidir (UB * pcode);
-void hs_0_M_171_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_172_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_172_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_172_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_172_2__simv_daidir (UB * pcode);
-void hs_0_M_172_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_173_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_173_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_173_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_173_2__simv_daidir (UB * pcode);
-void hs_0_M_173_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_174_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_174_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_174_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_174_2__simv_daidir (UB * pcode);
-void hs_0_M_174_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_175_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_175_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_175_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1303, U did);
-void hs_0_M_175_2__simv_daidir (UB * pcode);
-void hs_0_M_175_11__simv_daidir (UB * pcode, scalar val);
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685);
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __cplusplus
- }
-#endif
-#endif /*__DO_RMAHDR_*/
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmapats.m b/DA4008_V1.2/sim/chip_top/csrc/rmapats.m
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmapats.o b/DA4008_V1.2/sim/chip_top/csrc/rmapats.o
deleted file mode 100644
index d0c32e0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmapats.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmapats_mop.o b/DA4008_V1.2/sim/chip_top/csrc/rmapats_mop.o
deleted file mode 100644
index 1c7e27c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmapats_mop.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar.c b/DA4008_V1.2/sim/chip_top/csrc/rmar.c
deleted file mode 100644
index 21b81fa..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/rmar.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include
-#include
-#include "rmar0.h"
-
-// stubs for Hil functions
-#ifdef __cplusplus
-extern "C" {
-#endif
-void __Hil__Static_Init_Func__(void) {}
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar.h b/DA4008_V1.2/sim/chip_top/csrc/rmar.h
deleted file mode 100644
index 77865aa..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/rmar.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _RMAR1_H_
-#define _RMAR1_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __DO_RMAHDR_
-#include "rmar0.h"
-#endif /*__DO_RMAHDR_*/
-
-extern UP rmaFunctionRtlArray[];
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar.o b/DA4008_V1.2/sim/chip_top/csrc/rmar.o
deleted file mode 100644
index 1989370..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmar.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar0.h b/DA4008_V1.2/sim/chip_top/csrc/rmar0.h
deleted file mode 100644
index 48e8516..0000000
--- a/DA4008_V1.2/sim/chip_top/csrc/rmar0.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _RMAR0_H_
-#define _RMAR0_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_0.o b/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_0.o
deleted file mode 100644
index 3663b36..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_0.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_1.o b/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_1.o
deleted file mode 100644
index 0119f49..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmar_llvm_0_1.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/rmar_nd.o b/DA4008_V1.2/sim/chip_top/csrc/rmar_nd.o
deleted file mode 100644
index 99927ba..0000000
Binary files a/DA4008_V1.2/sim/chip_top/csrc/rmar_nd.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/csrc/vcspieces.incr b/DA4008_V1.2/sim/chip_top/csrc/vcspieces.incr
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/data_RTL/try/flattop.txt b/DA4008_V1.2/sim/chip_top/data_RTL/try/flattop.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/data_RTL/try/sine_1g.txt b/DA4008_V1.2/sim/chip_top/data_RTL/try/sine_1g.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/data_temp.txt b/DA4008_V1.2/sim/chip_top/data_temp.txt
deleted file mode 100644
index 005ef24..0000000
--- a/DA4008_V1.2/sim/chip_top/data_temp.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
-../../data_RTL/try/sine_1g.txt
diff --git a/DA4008_V1.2/sim/chip_top/filelist_syn.f b/DA4008_V1.2/sim/chip_top/filelist_syn.f
deleted file mode 100644
index 5fddb45..0000000
--- a/DA4008_V1.2/sim/chip_top/filelist_syn.f
+++ /dev/null
@@ -1,23 +0,0 @@
-../../rtl/define/chip_define.v
-../../sim/chip_top/TB.sv
-../../model/spi_if.sv
-../../model/DW01_addsub.v
-../../model/DW02_mult.v
-../../model/DW_mult_pipe.v
-../../model/clk_gen.v
-../../model/clock_tb.v
-../../model/reset_tb.v
-../../model/thermo2binary_top.v
-../../model/thermo7_binary3.v
-../../model/thermo15_binary4.v
-../../model/glbl.v
-../../rtl/memory/tsdn28hpcpuhdb128x128m4mw_170a_ffg0p99v0c.v
-../../rtl/memory/tsdn28hpcpuhdb4096x32m4mw_170a_ffg0p99v0c.v
-../../rtl/memory/tsdn28hpcpuhdb64x32m4mw_170a_ffg0p99v0c.v
-../../rtl/memory/tsdn28hpcpuhdb512x128m4mwr_170a_ffg0p99v0c.v
-../../rtl/memory/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-../../rtl/dem/DEM_31MSB_decoder_1ch.v
-../../rtl/dem/DEM_31MSB_decoder_16ch_XY.v
-/data/pdk/TSMCHOME/digital/Front_End/verilog/tphn28hpcpgv18_110a/tphn28hpcpgv18.v
-../../lib/tcbn28hpcplusbwp7t35p140.v
-../../syn/current/outputs/xyz_chip_top.syn.v
diff --git a/DA4008_V1.2/sim/chip_top/result/try/flattop.txt b/DA4008_V1.2/sim/chip_top/result/try/flattop.txt
deleted file mode 100644
index 8b13789..0000000
--- a/DA4008_V1.2/sim/chip_top/result/try/flattop.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/DA4008_V1.2/sim/chip_top/result/try/sine_1g.txt b/DA4008_V1.2/sim/chip_top/result/try/sine_1g.txt
deleted file mode 100644
index 8b13789..0000000
--- a/DA4008_V1.2/sim/chip_top/result/try/sine_1g.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/DA4008_V1.2/sim/chip_top/result_temp.txt b/DA4008_V1.2/sim/chip_top/result_temp.txt
deleted file mode 100644
index 7e22574..0000000
--- a/DA4008_V1.2/sim/chip_top/result_temp.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-
- ../../result/try//sine_1g.txt
diff --git a/DA4008_V1.2/sim/chip_top/simv b/DA4008_V1.2/sim/chip_top/simv
deleted file mode 100755
index f87b060..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/.daidir_complete b/DA4008_V1.2/sim/chip_top/simv.daidir/.daidir_complete
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/.normal_done b/DA4008_V1.2/sim/chip_top/simv.daidir/.normal_done
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/.vcs.timestamp b/DA4008_V1.2/sim/chip_top/simv.daidir/.vcs.timestamp
deleted file mode 100644
index 3d08c7c..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/.vcs.timestamp
+++ /dev/null
@@ -1,230 +0,0 @@
-4
-0 ../define/chip_define.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_define.v
-0 ../define/chip_undefine.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_undefine.v
-48
-+define+DUMP_FSDB
-+incdir+./../../model
-+incdir+./../../rtl/define
-+incdir+./../../rtl/qubitmcu
-+itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-+lint=TFIPC-L
-+nospecify
-+v2k
-+vcsd1
-+vpi
--Mamsrun=
--Masflags=
--Mcc=gcc
--Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--Mcplusplus=g++
--Mcrt0=
--Mcrtn=
--Mcsrc=
--Mexternalobj=
--Mldflags= -rdynamic
--Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
--Mout=simv
--Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
--Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm
--Mvcsaceobjs=
--Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--P
--P
--cm
--cm_dir
--debug_access+all
--debug_region+cell+encrypt
--f filelist_vlg.f
--fsdb
--full64
--gen_obj
--l
--lca
--picarchive
--q
--sverilog
--timescale=1ns/1ps
-./coverage/simv.vdb
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-compile.log
-line+cond+fsm+tgl+branch
-110
-sysc_uni_pwd=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-XMODIFIERS=@im=ibus
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-XILINX_HOME=/opt/xilinx
-XDG_SESSION_ID=c34
-XDG_RUNTIME_DIR=/run/user/1019
-XDG_MENU_PREFIX=gnome-
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-XDG_CURRENT_DESKTOP=GNOME
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-WAVE=1
-W3264_NO_HOST_CHECK=1
-VTE_VERSION=5204
-VRST_HOME=/opt/cadence/INCISIVE152
-VNCDESKTOP=cryo1:17 (shbyang)
-VMR_MODE_FLAG=64
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-VENDOR=unknown
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-VCS_MX_HOME_INTERNAL=1
-VCS_MODE_FLAG=64
-VCS_LOG_FILE=compile.log
-VCS_LCAMSG_PRINT_OFF=1
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-VCS_DEPTH=0
-VCS_ARG_ADDED_FOR_TMP=1
-VCS_ARCH=linux64
-UNAME=/bin/uname
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-TOOL_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-SSH_AGENT_PID=24257
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-SPECTRE_DEFAULTS=-E
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SCRNAME=vcs
-SCRIPT_NAME=vcs
-SCL_HOME=/opt/synopsys/scl/2018.06
-QT_IM_MODULE=ibus
-QT_GRAPHICSSYSTEM_CHECKED=1
-QTLIB=/usr/lib64/qt-3.3/lib
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-OVA_UUM=0
-OSTYPE=linux
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MOZILLA_HOME=/usr/bin/firefox
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-MGC_PDF_REDER=evince
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-MFLAGS=-s
-MENTOR_HOME=/opt/mentor
-MAKEOVERRIDES=${-*-command-variables-*-}
-MAKELEVEL=2
-MAKEFLAGS=s -- WAVE=1
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-LC_ALL=C
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-IMSETTINGS_MODULE=none
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-HOSTTYPE=x86_64-linux
-HISTCONTROL=ignoredups
-GROUP=cryo
-GNOME_TERMINAL_SERVICE=:1.1513
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/461a392b_7deb_466e_bdba_86422bb75acb
-GNOME_SHELL_SESSION_MODE=classic
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GENUS_HOME=/opt/cadence/GENUS152
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-DBUS_STARTER_BUS_TYPE=session
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-COLORTERM=truecolor
-CDS_SPECTRE_FBENABLE=1
-CDS_SPECTRERF_FBENABLE=1
-CDS_ROOT=/opt/cadence/IC618
-CDS_Netlisting_Mode=Analog
-CDS_LOAD_ENV=CWD
-CDS_LIC_ONLY=1
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-CDS_INST_DIR=/opt/cadence/IC618
-CDS_ENABLE_VMS=1
-CDS_AUTO_64BIT=ALL
-CDSROOT=/opt/cadence/IC618
-CDSHOME=/opt/cadence/IC618
-CDSDIR=/opt/cadence/IC618
-CDS=/opt/cadence/IC618
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-CADHOME=/opt/cadence
-CADENCE_DIR=/opt/cadence/IC618
-AMS_ENABLE_NOISE=YES
-0
-55
-1773384753 ../../model/LVDS_DRIVER.sv
-1773384753 ../../model/SPI_DRIVER.sv
-1773384753 ./../../rtl/define/../define/chip_undefine.v
-1773384753 ./../../rtl/define/../define/chip_define.v
-1773384753 ../../rtl/define/chip_undefine.v
-1773479827 ../../sim/chip_top/TB.sv
-1773384753 ../../model/DW_pulse_sync.v
-1773384753 ../../model/DW_sync.v
-1773384753 ../../model/DW_reset_sync.v
-1773384753 ../../model/DW_stream_sync.v
-1773384753 ../../model/reset_tb.v
-1773384753 ../../model/DEM_Reverse.v
-1773384753 ../../model/DEM_Reverse_64CH.v
-1773384753 ../../model/clk_gen.v
-1773384753 ../../model/spi_if.sv
-1773384753 ../../model/clock_tb.v
-1773384753 ../../rtl/spi/spi_sys.v
-1773384753 ../../rtl/spi/spi_pll.v
-1773384753 ../../rtl/spi/spi_slave.v
-1773384753 ../../rtl/spi/spi_bus_decoder.sv
-1773384753 ../../rtl/top/digital_top.sv
-1773384753 ../../rtl/top/da4008_chip_top.sv
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-1773384753 ../../rtl/dem/DEM_PhaseSync_4008.sv
-1773384753 ../../rtl/awg/awg_ctrl.v
-1773384753 ../../rtl/awg/awg_top.sv
-1773384753 ../../rtl/clk/clk_regfile.v
-1773384753 ../../rtl/memory/spram.v
-1773384753 ../../rtl/memory/bhv_spram.v
-1773384753 ../../rtl/memory/dpram.v
-1773384753 ../../rtl/memory/sram_dmux.sv
-1773384753 ../../rtl/memory/sram_if.sv
-1773384753 ../../rtl/memory/tsmc_dpram.v
-1773384753 ../../rtl/comm/ramp_gen.v
-1773384753 ../../rtl/comm/syncer.v
-1773384753 ../../rtl/comm/sirv_gnrl_dffs.v
-1773384753 ../../rtl/comm/pulse_generator.sv
-1773384753 ../../rtl/comm/sirv_gnrl_xchecker.v
-1773384753 ../../rtl/rstgen/rst_sync.v
-1773384753 ../../rtl/rstgen/rst_gen_unit.v
-1773384753 ../../rtl/lvds/ulink_rx.sv
-1773384753 ../../rtl/dac_regfile/dac_regfile.v
-1773384753 ../../rtl/fifo/syn_fwft_fifo.v
-1773384753 ../../rtl/dacif/dacif.v
-1773384753 ../../rtl/systemregfile/systemregfile.v
-1773384753 ../../rtl/io/iopad.v
-1773384753 ../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-1773384753 ../../lib/tphn28hpcpgv18.v
-1773384753 ../../rtl/define/chip_define.v
-1551421444 /opt/synopsys/vcs-mx/O-2018.09-SP2/include/cm_vcsd.tab
-1773384753 filelist_vlg.f
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-1551421246 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-5
-1551422344 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so
-1551421792 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so
-1551421768 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so
-1551421789 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
-1550752033 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
-1773479969 simv.daidir
--1 partitionlib
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/_64094_archive_1.so b/DA4008_V1.2/sim/chip_top/simv.daidir/_64094_archive_1.so
deleted file mode 100755
index 81768e1..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/_64094_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/_64123_archive_1.so b/DA4008_V1.2/sim/chip_top/simv.daidir/_64123_archive_1.so
deleted file mode 100755
index a048a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/_64123_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/_csrc0.so b/DA4008_V1.2/sim/chip_top/simv.daidir/_csrc0.so
deleted file mode 100755
index 1a959ff..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/_csrc0.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/_prev_archive_1.so b/DA4008_V1.2/sim/chip_top/simv.daidir/_prev_archive_1.so
deleted file mode 100755
index f9266c0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/_prev_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/binmap.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/binmap.sdb
deleted file mode 100644
index 4d6f43f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/binmap.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/build_db b/DA4008_V1.2/sim/chip_top/simv.daidir/build_db
deleted file mode 100755
index 558da36..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/build_db
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' -static_dbgen_only -daidir=$1 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_bcode.db b/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_bcode.db
deleted file mode 100644
index 757c06d..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_bcode.db
+++ /dev/null
@@ -1,561 +0,0 @@
-sid sirv_gnrl_xchecker
-bcid 0 0 WIDTH,32 CALL_ARG_VAL,2,0 WIDTH,1 XOR_REDUCE OPT_CONST_4ST,1,1 NEQU RET
-sid clk_gen
-bcid 1 0 WIDTH,4 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-sid spi_sys_0000
-bcid 2 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 3 1 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 4 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 5 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 6 4 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND RET
-bcid 7 5 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 8 6 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-bcid 9 7 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 10 8 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 11 9 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 12 10 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 13 11 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 14 12 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 15 13 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 16 14 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,2 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,2 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,2 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 17 15 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND OR CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,27 WIDTH,1 M_EQU AND AND RET
-bcid 18 16 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,25 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,25 CALL_ARG_VAL,4,0 WIDTH,1 CALL_ARG_VAL,5,0 WIDTH,25 CALL_ARG_VAL,6,0 OPT_CONST,4 ADD CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 19 17 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 20 18 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,28 WIDTH,1 M_EQU AND AND RET
-bcid 21 19 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 22 20 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 23 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 WIDTH,2 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,1 OPT_CONST,0 WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 24 22 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_NEQU RET
-sid spi_slave
-bcid 25 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 26 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 27 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 28 3 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND AND RET
-bcid 29 4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 30 5 WIDTH,5 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 NOT WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,5 SLICE,1 WIDTH,1 M_EQU AND AND RET
-bcid 31 6 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND AND RET
-bcid 32 7 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 OR CALL_ARG_VAL,5,0 WIDTH,5 CALL_ARG_VAL,6,0 OPT_CONST,29 WIDTH,1 M_EQU AND AND RET
-bcid 33 8 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,8 CALL_ARG_VAL,4,0 OPT_CONST,4 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 RET
-bcid 34 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 RET
-bcid 35 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 36 11 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 37 12 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 38 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 39 14 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 40 15 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,5 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 41 16 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,6 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 42 17 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,7 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 43 18 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,8 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 44 19 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,9 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 45 20 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 46 21 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,11 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 47 22 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,12 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 48 23 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,13 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 49 24 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,14 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 50 25 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,15 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 51 26 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,16 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 52 27 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,17 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 53 28 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,18 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 54 29 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,19 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 55 30 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,20 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 56 31 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,21 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 57 32 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,22 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 58 33 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,23 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 59 34 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,24 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 60 35 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,25 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 61 36 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 62 37 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,27 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 63 38 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,28 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 64 39 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,29 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 65 40 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-sid spi_bus_decoder_0000
-bcid 66 0 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 67 1 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 68 2 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 69 3 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 70 4 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 71 5 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 72 6 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 73 7 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 74 8 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 AND RET
-sid systemregfile
-bcid 75 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,32 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,88 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,218 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 76 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 77 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 78 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1541 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1109 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,8 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 79 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 80 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,33,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 81 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,35,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,37,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 82 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU CALL_ARG_VAL,11,0 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU CALL_ARG_VAL,13,0 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU CALL_ARG_VAL,27,0 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU CALL_ARG_VAL,29,0 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU CALL_ARG_VAL,31,0 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU OPT_CONST,1 CALL_ARG_VAL,45,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,46,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,47,0 OPT_CONST,1 EQU OPT_CONST,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 83 8 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,32 PAD RET
-bcid 84 9 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 85 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 86 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 87 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 88 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 89 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 90 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 91 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 92 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 93 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 94 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 95 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 96 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 97 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 98 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 99 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 100 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 101 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 102 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 103 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 104 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 105 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 106 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 107 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 108 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 109 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 110 35 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 111 36 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 112 37 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_NEQU RET
-sid DW_sync_0000
-bcid 113 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid DW_pulse_sync_0000
-bcid 114 0 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,1 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 NOT AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,2 WIDTH,1 EQU CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,5,0 AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,3 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 CALL_ARG_VAL,4,0 XOR XOR OPT_CONST_4ST,1,1 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 115 1 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 M_NEQU WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 XOR MITECONDNOINSTR,4 RET
-sid ulink_descrambler_32
-bcid 116 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 XOR CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid syn_fwft_fifo
-bcid 117 0 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 118 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 119 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,510 WIDTH,1 M_GT RET
-bcid 120 3 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 121 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 122 5 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 123 6 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 124 7 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 125 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,128 CONST,0,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-sid ulink_frame_receiver_0000
-bcid 126 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,16 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,16 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 127 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,4 MULTI_CONCATENATE,1,4 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 NOT OR RET
-bcid 128 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 WIDTH,1 M_NEQU AND RET
-sid ulink_rx
-bcid 129 0 WIDTH,20 CALL_ARG_VAL,2,0 OPT_CONST,10000 WIDTH,1 M_NEQU RET
-bcid 130 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 OPT_CONST,9999 WIDTH,1 M_EQU AND RET
-bcid 131 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,20 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 132 3 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 133 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 134 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 135 6 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND AND RET
-bcid 136 7 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND AND RET
-bcid 137 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,20 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,2 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 138 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,3,0 ADD MITECONDNOINSTR,4 RET
-bcid 139 10 WIDTH,128 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 SLICE,1 OPT_CONST,-1128481604 WIDTH,1 M_EQU RET
-bcid 140 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,4,0 OPT_CONST,0 CALL_ARG_VAL,5,0 OPT_CONST,0 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 141 12 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 142 13 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 MULTI_CONCATENATE,1,3 RET
-sid pulse_generator
-bcid 143 0 WIDTH,16 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-sid tsdn28hpcpuhdb4096x128m4mw_170a
-bcid 144 0 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 145 1 WIDTH,1 OPT_CONST,0 RET
-bcid 146 2 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 147 3 WIDTH,1 OPT_CONST,0 RET
-bcid 148 4 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 149 5 WIDTH,1 OPT_CONST,0 RET
-bcid 150 6 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 151 7 WIDTH,1 OPT_CONST,0 RET
-bcid 152 8 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 153 9 WIDTH,1 OPT_CONST,0 RET
-bcid 154 10 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 155 11 WIDTH,1 OPT_CONST,0 RET
-bcid 156 12 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 157 13 WIDTH,1 OPT_CONST,0 RET
-bcid 158 14 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 159 15 WIDTH,1 OPT_CONST,0 RET
-bcid 160 16 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 161 17 WIDTH,1 OPT_CONST,0 RET
-bcid 162 18 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 163 19 WIDTH,1 OPT_CONST,0 RET
-bcid 164 20 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 165 21 WIDTH,1 OPT_CONST,0 RET
-bcid 166 22 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 167 23 WIDTH,1 OPT_CONST,0 RET
-bcid 168 24 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 169 25 WIDTH,1 OPT_CONST,0 RET
-bcid 170 26 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 171 27 WIDTH,1 OPT_CONST,0 RET
-bcid 172 28 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 173 29 WIDTH,1 OPT_CONST,0 RET
-bcid 174 30 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 175 31 WIDTH,1 OPT_CONST,0 RET
-bcid 176 32 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 177 33 WIDTH,1 OPT_CONST,0 RET
-bcid 178 34 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 179 35 WIDTH,1 OPT_CONST,0 RET
-bcid 180 36 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 181 37 WIDTH,1 OPT_CONST,0 RET
-bcid 182 38 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 183 39 WIDTH,1 OPT_CONST,0 RET
-bcid 184 40 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 185 41 WIDTH,1 OPT_CONST,0 RET
-bcid 186 42 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 187 43 WIDTH,1 OPT_CONST,0 RET
-bcid 188 44 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 189 45 WIDTH,1 OPT_CONST,0 RET
-bcid 190 46 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 191 47 WIDTH,1 OPT_CONST,0 RET
-bcid 192 48 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 193 49 WIDTH,1 OPT_CONST,0 RET
-bcid 194 50 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 195 51 WIDTH,1 OPT_CONST,0 RET
-bcid 196 52 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 197 53 WIDTH,1 OPT_CONST,0 RET
-bcid 198 54 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 199 55 WIDTH,1 OPT_CONST,0 RET
-bcid 200 56 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 201 57 WIDTH,1 OPT_CONST,0 RET
-bcid 202 58 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 203 59 WIDTH,1 OPT_CONST,0 RET
-bcid 204 60 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 205 61 WIDTH,1 OPT_CONST,0 RET
-bcid 206 62 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 207 63 WIDTH,1 OPT_CONST,0 RET
-bcid 208 64 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 209 65 WIDTH,1 OPT_CONST,0 RET
-bcid 210 66 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 211 67 WIDTH,1 OPT_CONST,0 RET
-bcid 212 68 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 213 69 WIDTH,1 OPT_CONST,0 RET
-bcid 214 70 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 215 71 WIDTH,1 OPT_CONST,0 RET
-bcid 216 72 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 217 73 WIDTH,1 OPT_CONST,0 RET
-bcid 218 74 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 219 75 WIDTH,1 OPT_CONST,0 RET
-bcid 220 76 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 221 77 WIDTH,1 OPT_CONST,0 RET
-bcid 222 78 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 223 79 WIDTH,1 OPT_CONST,0 RET
-bcid 224 80 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 225 81 WIDTH,1 OPT_CONST,0 RET
-bcid 226 82 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 227 83 WIDTH,1 OPT_CONST,0 RET
-bcid 228 84 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 229 85 WIDTH,1 OPT_CONST,0 RET
-bcid 230 86 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 231 87 WIDTH,1 OPT_CONST,0 RET
-bcid 232 88 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 233 89 WIDTH,1 OPT_CONST,0 RET
-bcid 234 90 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 235 91 WIDTH,1 OPT_CONST,0 RET
-bcid 236 92 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 237 93 WIDTH,1 OPT_CONST,0 RET
-bcid 238 94 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 239 95 WIDTH,1 OPT_CONST,0 RET
-bcid 240 96 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 241 97 WIDTH,1 OPT_CONST,0 RET
-bcid 242 98 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 243 99 WIDTH,1 OPT_CONST,0 RET
-bcid 244 100 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 245 101 WIDTH,1 OPT_CONST,0 RET
-bcid 246 102 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 247 103 WIDTH,1 OPT_CONST,0 RET
-bcid 248 104 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 249 105 WIDTH,1 OPT_CONST,0 RET
-bcid 250 106 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 251 107 WIDTH,1 OPT_CONST,0 RET
-bcid 252 108 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 253 109 WIDTH,1 OPT_CONST,0 RET
-bcid 254 110 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 255 111 WIDTH,1 OPT_CONST,0 RET
-bcid 256 112 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 257 113 WIDTH,1 OPT_CONST,0 RET
-bcid 258 114 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 259 115 WIDTH,1 OPT_CONST,0 RET
-bcid 260 116 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 261 117 WIDTH,1 OPT_CONST,0 RET
-bcid 262 118 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 263 119 WIDTH,1 OPT_CONST,0 RET
-bcid 264 120 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 265 121 WIDTH,1 OPT_CONST,0 RET
-bcid 266 122 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 267 123 WIDTH,1 OPT_CONST,0 RET
-bcid 268 124 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 269 125 WIDTH,1 OPT_CONST,0 RET
-bcid 270 126 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 271 127 WIDTH,1 OPT_CONST,0 RET
-bcid 272 128 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 273 129 WIDTH,1 OPT_CONST,0 RET
-bcid 274 130 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 275 131 WIDTH,1 OPT_CONST,0 RET
-bcid 276 132 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 277 133 WIDTH,1 OPT_CONST,0 RET
-bcid 278 134 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 279 135 WIDTH,1 OPT_CONST,0 RET
-bcid 280 136 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 281 137 WIDTH,1 OPT_CONST,0 RET
-bcid 282 138 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 283 139 WIDTH,1 OPT_CONST,0 RET
-bcid 284 140 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 285 141 WIDTH,1 OPT_CONST,0 RET
-bcid 286 142 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 287 143 WIDTH,1 OPT_CONST,0 RET
-bcid 288 144 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 289 145 WIDTH,1 OPT_CONST,0 RET
-bcid 290 146 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 291 147 WIDTH,1 OPT_CONST,0 RET
-bcid 292 148 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 293 149 WIDTH,1 OPT_CONST,0 RET
-bcid 294 150 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 295 151 WIDTH,1 OPT_CONST,0 RET
-bcid 296 152 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 297 153 WIDTH,1 OPT_CONST,0 RET
-bcid 298 154 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 299 155 WIDTH,1 OPT_CONST,0 RET
-bcid 300 156 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 301 157 WIDTH,1 OPT_CONST,0 RET
-bcid 302 158 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 303 159 WIDTH,1 OPT_CONST,0 RET
-bcid 304 160 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 305 161 WIDTH,1 OPT_CONST,0 RET
-bcid 306 162 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 307 163 WIDTH,1 OPT_CONST,0 RET
-bcid 308 164 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 309 165 WIDTH,1 OPT_CONST,0 RET
-bcid 310 166 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 311 167 WIDTH,1 OPT_CONST,0 RET
-bcid 312 168 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 313 169 WIDTH,1 OPT_CONST,0 RET
-bcid 314 170 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 315 171 WIDTH,1 OPT_CONST,0 RET
-bcid 316 172 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 317 173 WIDTH,1 OPT_CONST,0 RET
-bcid 318 174 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 319 175 WIDTH,1 OPT_CONST,0 RET
-bcid 320 176 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 321 177 WIDTH,1 OPT_CONST,0 RET
-bcid 322 178 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 323 179 WIDTH,1 OPT_CONST,0 RET
-bcid 324 180 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 325 181 WIDTH,1 OPT_CONST,0 RET
-bcid 326 182 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 327 183 WIDTH,1 OPT_CONST,0 RET
-bcid 328 184 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 329 185 WIDTH,1 OPT_CONST,0 RET
-bcid 330 186 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 331 187 WIDTH,1 OPT_CONST,0 RET
-bcid 332 188 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 333 189 WIDTH,1 OPT_CONST,0 RET
-bcid 334 190 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 335 191 WIDTH,1 OPT_CONST,0 RET
-bcid 336 192 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 337 193 WIDTH,1 OPT_CONST,0 RET
-bcid 338 194 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 339 195 WIDTH,1 OPT_CONST,0 RET
-bcid 340 196 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 341 197 WIDTH,1 OPT_CONST,0 RET
-bcid 342 198 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 343 199 WIDTH,1 OPT_CONST,0 RET
-bcid 344 200 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 345 201 WIDTH,1 OPT_CONST,0 RET
-bcid 346 202 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 347 203 WIDTH,1 OPT_CONST,0 RET
-bcid 348 204 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 349 205 WIDTH,1 OPT_CONST,0 RET
-bcid 350 206 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 351 207 WIDTH,1 OPT_CONST,0 RET
-bcid 352 208 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 353 209 WIDTH,1 OPT_CONST,0 RET
-bcid 354 210 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 355 211 WIDTH,1 OPT_CONST,0 RET
-bcid 356 212 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 357 213 WIDTH,1 OPT_CONST,0 RET
-bcid 358 214 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 359 215 WIDTH,1 OPT_CONST,0 RET
-bcid 360 216 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 361 217 WIDTH,1 OPT_CONST,0 RET
-bcid 362 218 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 363 219 WIDTH,1 OPT_CONST,0 RET
-bcid 364 220 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 365 221 WIDTH,1 OPT_CONST,0 RET
-bcid 366 222 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 367 223 WIDTH,1 OPT_CONST,0 RET
-bcid 368 224 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 369 225 WIDTH,1 OPT_CONST,0 RET
-bcid 370 226 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 371 227 WIDTH,1 OPT_CONST,0 RET
-bcid 372 228 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 373 229 WIDTH,1 OPT_CONST,0 RET
-bcid 374 230 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 375 231 WIDTH,1 OPT_CONST,0 RET
-bcid 376 232 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 377 233 WIDTH,1 OPT_CONST,0 RET
-bcid 378 234 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 379 235 WIDTH,1 OPT_CONST,0 RET
-bcid 380 236 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 381 237 WIDTH,1 OPT_CONST,0 RET
-bcid 382 238 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 383 239 WIDTH,1 OPT_CONST,0 RET
-bcid 384 240 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 385 241 WIDTH,1 OPT_CONST,0 RET
-bcid 386 242 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 387 243 WIDTH,1 OPT_CONST,0 RET
-bcid 388 244 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 389 245 WIDTH,1 OPT_CONST,0 RET
-bcid 390 246 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 391 247 WIDTH,1 OPT_CONST,0 RET
-bcid 392 248 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 393 249 WIDTH,1 OPT_CONST,0 RET
-bcid 394 250 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 395 251 WIDTH,1 OPT_CONST,0 RET
-bcid 396 252 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 397 253 WIDTH,1 OPT_CONST,0 RET
-bcid 398 254 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 399 255 WIDTH,1 OPT_CONST,0 RET
-sid dpram
-bcid 400 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,3,0 AND WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,4,0 AND OR RET
-bcid 401 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 MULTI_CONCATENATE,1,8 RET
-sid awg_top
-bcid 402 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 MITECONDNOINSTR,4 RET
-bcid 403 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 404 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 405 3 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,30 WIDTH,1 M_GT RET
-bcid 406 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 407 5 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 408 6 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 409 7 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 410 8 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 411 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 412 10 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 413 11 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT AND RET
-bcid 414 12 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 AND RET
-bcid 415 13 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 NOT AND AND RET
-bcid 416 14 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 417 15 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OR NOT AND RET
-bcid 418 16 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 419 17 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,3 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,9,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 420 18 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OR OR CALL_ARG_VAL,5,0 NOT AND RET
-bcid 421 19 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 422 20 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 423 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,13 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 424 22 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 M_NEQU AND AND RET
-bcid 425 23 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 426 24 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 427 25 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,31 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 428 26 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,31 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 429 27 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,512 CALL_ARG_VAL,3,0 WIDTH,1 CALL_ARG_VAL,4,0 WIDTH,8 CALL_ARG_VAL,5,0 WIDTH,512 MULTI_CONCATENATE,1,64 CONST,0,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 430 28 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU OR RET
-bcid 431 29 WIDTH,13 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 ADD RET
-sid ramp_gen_0000
-bcid 432 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 433 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 434 2 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,8 SHIFT_L RET
-bcid 435 3 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,8 SHIFT_L RET
-bcid 436 4 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,8 SHIFT_L RET
-bcid 437 5 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,4 WIDTH,8 SHIFT_L RET
-bcid 438 6 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,5 WIDTH,8 SHIFT_L RET
-bcid 439 7 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,6 WIDTH,8 SHIFT_L RET
-sid dac_regfile
-bcid 440 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU CALL_ARG_VAL,49,0 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 441 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 442 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 443 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,10 WIDTH,22 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 444 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,4 WIDTH,6 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 445 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,8,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,10 WIDTH,22 SLICE,1 CALL_ARG_VAL,21,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 446 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,4 WIDTH,6 SLICE,1 CALL_ARG_VAL,23,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 447 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 448 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,1 WIDTH,2 SLICE,1 CALL_ARG_VAL,33,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 449 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,33,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,34,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,35,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 450 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 451 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 452 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 453 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 454 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 455 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 456 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 457 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 458 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 459 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 460 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 461 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 462 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 463 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 464 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 465 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 466 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 467 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 468 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 469 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 470 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 471 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 472 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 473 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 474 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 475 35 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 476 36 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 M_EQU RET
-bcid 477 37 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 M_EQU RET
-bcid 478 38 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 M_EQU RET
-bcid 479 39 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 M_EQU RET
-bcid 480 40 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 M_EQU RET
-bcid 481 41 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU RET
-bcid 482 42 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,32 WIDTH,1 M_EQU RET
-bcid 483 43 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,33 WIDTH,1 M_EQU RET
-bcid 484 44 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,34 WIDTH,1 M_EQU RET
-bcid 485 45 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,35 WIDTH,1 M_EQU RET
-bcid 486 46 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,36 WIDTH,1 M_EQU RET
-bcid 487 47 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,37 WIDTH,1 M_EQU RET
-bcid 488 48 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,38 WIDTH,1 M_EQU RET
-bcid 489 49 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,39 WIDTH,1 M_EQU RET
-bcid 490 50 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,40 WIDTH,1 M_EQU RET
-bcid 491 51 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,41 WIDTH,1 M_EQU RET
-sid clk_regfile
-bcid 492 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 493 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 494 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 495 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 496 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 497 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 498 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 499 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 500 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,41,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 501 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU CALL_ARG_VAL,41,0 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,43,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU CALL_ARG_VAL,45,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 502 10 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 503 11 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 504 12 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 505 13 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 506 14 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 507 15 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 508 16 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 509 17 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 510 18 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 511 19 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 512 20 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 513 21 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 514 22 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 515 23 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 516 24 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 517 25 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 518 26 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 519 27 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 520 28 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 521 29 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 522 30 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 523 31 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-sid da4008_chip_top
-bcid 524 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD MITECONDNOINSTR,4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT MITECONDNOINSTR,4 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 525 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 526 2 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 527 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD OPT_CONST,31 WIDTH,1 NEQU WIDTH,5 MULTI_CONCATENATE,1,5 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,5 SLICE,1 ADD AND CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 528 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 529 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 EQU AND CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 530 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU CALL_ARG_VAL,3,0 OPT_CONST_4ST,1,1 EQU OR OPT_CONST_4ST,1,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 OPT_CONST,16 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD WIDTH,1 M_GT AND OPT_CONST,1 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,15 WIDTH,1 M_GT OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 531 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU WIDTH,4 OPT_CONST_4ST,15,15 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG,3 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 532 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 533 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 M_EQU AND RET
-bcid 534 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 M_EQU AND RET
-bcid 535 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 CALL_ARG_VAL,3,0 OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 536 12 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,4,0 AND AND OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 537 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SM_GT RET
-bcid 538 14 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU AND AND RET
-sid TB
-bcid 539 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,6 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,6 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_dummy_file b/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_dummy_file
deleted file mode 100644
index 9ec9235..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/cc/cc_dummy_file
+++ /dev/null
@@ -1,2 +0,0 @@
-Dummy_file
-Missing line/file info
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/cgname.json b/DA4008_V1.2/sim/chip_top/simv.daidir/cgname.json
deleted file mode 100644
index eb59b57..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/cgname.json
+++ /dev/null
@@ -1,920 +0,0 @@
-{
- "PDUW16DGZ_H_G": [
- "PDUW16DGZ_H_G",
- "M7qR3",
- "module",
- 38
- ],
- "PDB3AC_V_G": [
- "PDB3AC_V_G",
- "dviib",
- "module",
- 9
- ],
- "dac_regfile": [
- "dac_regfile",
- "LR0zI",
- "module",
- 118
- ],
- "PRUW16SDGZ_V_G": [
- "PRUW16SDGZ_V_G",
- "psjSY",
- "module",
- 71
- ],
- "PDUW04SDGZ_H_G": [
- "PDUW04SDGZ_H_G",
- "wGYhm",
- "module",
- 28
- ],
- "_vcs_unit__348857874": [
- "_vcs_unit__348857874",
- "FgDcH",
- "module",
- 1
- ],
- "PVSS2A_V_G": [
- "PVSS2A_V_G",
- "fMI2k",
- "module",
- 99
- ],
- "PENDCAPA_G": [
- "PENDCAPA_G",
- "wpYca",
- "module",
- 45
- ],
- "PDDW08DGZ_V_G": [
- "PDDW08DGZ_V_G",
- "K0TuH",
- "module",
- 15
- ],
- "PDDW16SDGZ_V_G": [
- "PDDW16SDGZ_V_G",
- "ebe78",
- "module",
- 25
- ],
- "PDUW12SDGZ_V_G": [
- "PDUW12SDGZ_V_G",
- "qCQFW",
- "module",
- 37
- ],
- "PDUW12SDGZ_H_G": [
- "PDUW12SDGZ_H_G",
- "uKPxf",
- "module",
- 36
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 2
- ],
- "sram_if_0002": [
- "sram_if_0002",
- "bEAZ8",
- "module",
- 133
- ],
- "PCLAMP_G": [
- "PCLAMP_G",
- "DA1Pu",
- "module",
- 3
- ],
- "PVDD2POC_V_G": [
- "PVDD2POC_V_G",
- "urn8Q",
- "module",
- 85
- ],
- "PDUW16DGZ_V_G": [
- "PDUW16DGZ_V_G",
- "FDqaf",
- "module",
- 39
- ],
- "iopad": [
- "iopad",
- "ga3jL",
- "module",
- 114
- ],
- "PVSS1ANA_V_G": [
- "PVSS1ANA_V_G",
- "gL5Pd",
- "module",
- 95
- ],
- "PDUW08DGZ_V_G": [
- "PDUW08DGZ_V_G",
- "aEWK6",
- "module",
- 31
- ],
- "PRDW12SDGZ_V_G": [
- "PRDW12SDGZ_V_G",
- "zIUFF",
- "module",
- 55
- ],
- "PDB3A_V_G": [
- "PDB3A_V_G",
- "xqWfY",
- "module",
- 7
- ],
- "PVDD3A_V_G": [
- "PVDD3A_V_G",
- "t6fPF",
- "module",
- 87
- ],
- "PRDW16DGZ_V_G": [
- "PRDW16DGZ_V_G",
- "Jztd6",
- "module",
- 57
- ],
- "PRUW12SDGZ_V_G": [
- "PRUW12SDGZ_V_G",
- "yt645",
- "module",
- 67
- ],
- "PDXOEDG_V_G": [
- "PDXOEDG_V_G",
- "EZF3t",
- "module",
- 43
- ],
- "da4008_chip_top": [
- "da4008_chip_top",
- "ircEj",
- "module",
- 141
- ],
- "PDDW12SDGZ_H_G": [
- "PDDW12SDGZ_H_G",
- "KpuhN",
- "module",
- 20
- ],
- "PDDW04SDGZ_H_G": [
- "PDDW04SDGZ_H_G",
- "CQ4ek",
- "module",
- 12
- ],
- "PCLAMPC_H_G": [
- "PCLAMPC_H_G",
- "UyGax",
- "module",
- 4
- ],
- "PRDW16SDGZ_V_G": [
- "PRDW16SDGZ_V_G",
- "YRh5I",
- "module",
- 59
- ],
- "PVSS3DGZ_V_G": [
- "PVSS3DGZ_V_G",
- "IZu3i",
- "module",
- 111
- ],
- "PVDD3AC_H_G": [
- "PVDD3AC_H_G",
- "U0PST",
- "module",
- 88
- ],
- "PCLAMPC_V_G": [
- "PCLAMPC_V_G",
- "EyyeT",
- "module",
- 5
- ],
- "PRDW08SDGZ_V_G": [
- "PRDW08SDGZ_V_G",
- "JznNw",
- "module",
- 51
- ],
- "PDDW12DGZ_V_G": [
- "PDDW12DGZ_V_G",
- "eR5Zz",
- "module",
- 19
- ],
- "PDDW08DGZ_H_G": [
- "PDDW08DGZ_H_G",
- "C0gYT",
- "module",
- 14
- ],
- "PVSS2DGZ_V_G": [
- "PVSS2DGZ_V_G",
- "S5Dr6",
- "module",
- 105
- ],
- "PDB3A_H_G": [
- "PDB3A_H_G",
- "dfLHW",
- "module",
- 6
- ],
- "rst_gen_unit": [
- "rst_gen_unit",
- "anuMN",
- "module",
- 124
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": [
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bghMB",
- "module",
- 113
- ],
- "PDDW16SDGZ_H_G": [
- "PDDW16SDGZ_H_G",
- "HiTWu",
- "module",
- 24
- ],
- "PDUW16SDGZ_H_G": [
- "PDUW16SDGZ_H_G",
- "iWZrk",
- "module",
- 40
- ],
- "PDUW04SDGZ_V_G": [
- "PDUW04SDGZ_V_G",
- "mJZpP",
- "module",
- 29
- ],
- "PVSS3A_H_G": [
- "PVSS3A_H_G",
- "jsR1C",
- "module",
- 106
- ],
- "PDB3AC_H_G": [
- "PDB3AC_H_G",
- "LsJ1x",
- "module",
- 8
- ],
- "PDUW04DGZ_V_G": [
- "PDUW04DGZ_V_G",
- "QGhk6",
- "module",
- 27
- ],
- "PVDD3AC_V_G": [
- "PVDD3AC_V_G",
- "rZC3e",
- "module",
- 89
- ],
- "PVSS2DGZ_H_G": [
- "PVSS2DGZ_H_G",
- "ke5cH",
- "module",
- 104
- ],
- "PDDW04DGZ_V_G": [
- "PDDW04DGZ_V_G",
- "sZaSM",
- "module",
- 11
- ],
- "sram_if_0001": [
- "sram_if_0001",
- "z4wk8",
- "module",
- 132
- ],
- "PDDW04DGZ_H_G": [
- "PDDW04DGZ_H_G",
- "Z62Gy",
- "module",
- 10
- ],
- "PVDD1AC_V_G": [
- "PVDD1AC_V_G",
- "qn6Yx",
- "module",
- 75
- ],
- "PVSS2ANA_V_G": [
- "PVSS2ANA_V_G",
- "Md441",
- "module",
- 103
- ],
- "PDDW04SDGZ_V_G": [
- "PDDW04SDGZ_V_G",
- "J6fGD",
- "module",
- 13
- ],
- "PDDW16DGZ_H_G": [
- "PDDW16DGZ_H_G",
- "GzkJA",
- "module",
- 22
- ],
- "PVSS3AC_V_G": [
- "PVSS3AC_V_G",
- "i0k2A",
- "module",
- 109
- ],
- "PDDW08SDGZ_H_G": [
- "PDDW08SDGZ_H_G",
- "QjV6F",
- "module",
- 16
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 120
- ],
- "PVSS1AC_V_G": [
- "PVSS1AC_V_G",
- "I7RzE",
- "module",
- 93
- ],
- "PDDW08SDGZ_V_G": [
- "PDDW08SDGZ_V_G",
- "N1ndr",
- "module",
- 17
- ],
- "PRDW08SDGZ_H_G": [
- "PRDW08SDGZ_H_G",
- "S90qD",
- "module",
- 50
- ],
- "PDDW12DGZ_H_G": [
- "PDDW12DGZ_H_G",
- "atFKr",
- "module",
- 18
- ],
- "PDDW12SDGZ_V_G": [
- "PDDW12SDGZ_V_G",
- "Pzaun",
- "module",
- 21
- ],
- "PVDD1ANA_V_G": [
- "PVDD1ANA_V_G",
- "BL1m7",
- "module",
- 77
- ],
- "PVDD3A_H_G": [
- "PVDD3A_H_G",
- "DTJPF",
- "module",
- 86
- ],
- "PDDW16DGZ_V_G": [
- "PDDW16DGZ_V_G",
- "StNiL",
- "module",
- 23
- ],
- "PDUW04DGZ_H_G": [
- "PDUW04DGZ_H_G",
- "YTwQz",
- "module",
- 26
- ],
- "PVDD2DGZ_H_G": [
- "PVDD2DGZ_H_G",
- "nULrd",
- "module",
- 82
- ],
- "PDUW08DGZ_H_G": [
- "PDUW08DGZ_H_G",
- "KkPJH",
- "module",
- 30
- ],
- "PDUW08SDGZ_H_G": [
- "PDUW08SDGZ_H_G",
- "gxqJp",
- "module",
- 32
- ],
- "ulink_descrambler_128": [
- "ulink_descrambler_128",
- "qxEhc",
- "module",
- 121
- ],
- "sram_if": [
- "sram_if",
- "NABmh",
- "module",
- 130
- ],
- "PRCUTA_G": [
- "PRCUTA_G",
- "uuDJt",
- "module",
- 47
- ],
- "PVDD1ANA_H_G": [
- "PVDD1ANA_H_G",
- "fEWTj",
- "module",
- 76
- ],
- "PDUW08SDGZ_V_G": [
- "PDUW08SDGZ_V_G",
- "UxPrL",
- "module",
- 33
- ],
- "DA4008_DEM_Parallel_PRBS_64CH": [
- "DA4008_DEM_Parallel_PRBS_64CH",
- "q09PC",
- "module",
- 140
- ],
- "PDUW12DGZ_H_G": [
- "PDUW12DGZ_H_G",
- "HYpLe",
- "module",
- 34
- ],
- "PVSS1AC_H_G": [
- "PVSS1AC_H_G",
- "EZJLH",
- "module",
- 92
- ],
- "PDUW12DGZ_V_G": [
- "PDUW12DGZ_V_G",
- "NkwYe",
- "module",
- 35
- ],
- "PRUW16DGZ_H_G": [
- "PRUW16DGZ_H_G",
- "AVYgt",
- "module",
- 68
- ],
- "PDUW16SDGZ_V_G": [
- "PDUW16SDGZ_V_G",
- "qePm9",
- "module",
- 41
- ],
- "PDXOEDG_H_G": [
- "PDXOEDG_H_G",
- "IYQDs",
- "module",
- 42
- ],
- "PENDCAP_G": [
- "PENDCAP_G",
- "bhWYh",
- "module",
- 44
- ],
- "PRUW08DGZ_V_G": [
- "PRUW08DGZ_V_G",
- "EtT2L",
- "module",
- 61
- ],
- "PVDD2ANA_H_G": [
- "PVDD2ANA_H_G",
- "mZVHG",
- "module",
- 80
- ],
- "PRCUT_G": [
- "PRCUT_G",
- "uQmb5",
- "module",
- 46
- ],
- "DW_pulse_sync_0000": [
- "DW_pulse_sync_0000",
- "Ss3zK",
- "module",
- 150
- ],
- "PVDD1DGZ_H_G": [
- "PVDD1DGZ_H_G",
- "Eie6s",
- "module",
- 78
- ],
- "PRDW08DGZ_H_G": [
- "PRDW08DGZ_H_G",
- "swWa5",
- "module",
- 48
- ],
- "PVSS1A_H_G": [
- "PVSS1A_H_G",
- "aYKwj",
- "module",
- 90
- ],
- "PVSS1DGZ_V_G": [
- "PVSS1DGZ_V_G",
- "jHcbf",
- "module",
- 97
- ],
- "PRDW08DGZ_V_G": [
- "PRDW08DGZ_V_G",
- "ZZxj5",
- "module",
- 49
- ],
- "PRDW12DGZ_H_G": [
- "PRDW12DGZ_H_G",
- "VaZm2",
- "module",
- 52
- ],
- "PRDW12DGZ_V_G": [
- "PRDW12DGZ_V_G",
- "ZKk4u",
- "module",
- 53
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 152
- ],
- "PVDD2POC_H_G": [
- "PVDD2POC_H_G",
- "avdwk",
- "module",
- 84
- ],
- "PRDW12SDGZ_H_G": [
- "PRDW12SDGZ_H_G",
- "fTzb4",
- "module",
- 54
- ],
- "PRDW16DGZ_H_G": [
- "PRDW16DGZ_H_G",
- "EEqKt",
- "module",
- 56
- ],
- "PRDW16SDGZ_H_G": [
- "PRDW16SDGZ_H_G",
- "V63WF",
- "module",
- 58
- ],
- "PRUW12DGZ_H_G": [
- "PRUW12DGZ_H_G",
- "hpMjC",
- "module",
- 64
- ],
- "PRUW08DGZ_H_G": [
- "PRUW08DGZ_H_G",
- "fLemy",
- "module",
- 60
- ],
- "PRUW08SDGZ_H_G": [
- "PRUW08SDGZ_H_G",
- "gwpgC",
- "module",
- 62
- ],
- "dacif_0000": [
- "dacif_0000",
- "yeRHW",
- "module",
- 116
- ],
- "PRUW08SDGZ_V_G": [
- "PRUW08SDGZ_V_G",
- "VJ8Wg",
- "module",
- 63
- ],
- "PRUW12DGZ_V_G": [
- "PRUW12DGZ_V_G",
- "pucZW",
- "module",
- 65
- ],
- "PRUW12SDGZ_H_G": [
- "PRUW12SDGZ_H_G",
- "EkH6u",
- "module",
- 66
- ],
- "PRUW16DGZ_V_G": [
- "PRUW16DGZ_V_G",
- "ErxQ3",
- "module",
- 69
- ],
- "PRUW16SDGZ_H_G": [
- "PRUW16SDGZ_H_G",
- "riJVY",
- "module",
- 70
- ],
- "spi_if": [
- "spi_if",
- "IHYdB",
- "module",
- 145
- ],
- "PVDD1A_H_G": [
- "PVDD1A_H_G",
- "zNPu5",
- "module",
- 72
- ],
- "PVDD1A_V_G": [
- "PVDD1A_V_G",
- "CNBi6",
- "module",
- 73
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 122
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 128
- ],
- "PVDD1AC_H_G": [
- "PVDD1AC_H_G",
- "W9VnM",
- "module",
- 74
- ],
- "PVDD1DGZ_V_G": [
- "PVDD1DGZ_V_G",
- "sPggV",
- "module",
- 79
- ],
- "PVDD2ANA_V_G": [
- "PVDD2ANA_V_G",
- "J6VbG",
- "module",
- 81
- ],
- "PVSS3A_V_G": [
- "PVSS3A_V_G",
- "VSdee",
- "module",
- 107
- ],
- "PVDD2DGZ_V_G": [
- "PVDD2DGZ_V_G",
- "LSxxn",
- "module",
- 83
- ],
- "PVSS1A_V_G": [
- "PVSS1A_V_G",
- "ZmPik",
- "module",
- 91
- ],
- "reset_tb": [
- "reset_tb",
- "Q3Wk7",
- "module",
- 148
- ],
- "PVSS1ANA_H_G": [
- "PVSS1ANA_H_G",
- "HtwuV",
- "module",
- 94
- ],
- "PVSS1DGZ_H_G": [
- "PVSS1DGZ_H_G",
- "Zp1LH",
- "module",
- 96
- ],
- "PVSS2A_H_G": [
- "PVSS2A_H_G",
- "usz4x",
- "module",
- 98
- ],
- "PVSS2AC_H_G": [
- "PVSS2AC_H_G",
- "TqmdJ",
- "module",
- 100
- ],
- "systemregfile": [
- "systemregfile",
- "qcK8J",
- "module",
- 115
- ],
- "DW_sync_0000": [
- "DW_sync_0000",
- "zVfcK",
- "module",
- 149
- ],
- "PVSS2AC_V_G": [
- "PVSS2AC_V_G",
- "YBQ1m",
- "module",
- 101
- ],
- "PVSS2ANA_H_G": [
- "PVSS2ANA_H_G",
- "g8kcb",
- "module",
- 102
- ],
- "PVSS3AC_H_G": [
- "PVSS3AC_H_G",
- "B0f3F",
- "module",
- 108
- ],
- "PVSS3DGZ_H_G": [
- "PVSS3DGZ_H_G",
- "rq1J0",
- "module",
- 110
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 125
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a": [
- "tsdn28hpcpuhdb4096x128m4mw_170a",
- "UJ4u7",
- "module",
- 112
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 117
- ],
- "ulink_rx": [
- "ulink_rx",
- "dteMU",
- "module",
- 119
- ],
- "ulink_frame_receiver_0000": [
- "ulink_frame_receiver_0000",
- "P3BwM",
- "module",
- 123
- ],
- "pulse_generator": [
- "pulse_generator",
- "aJYLF",
- "module",
- 126
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 127
- ],
- "ramp_gen_0000": [
- "ramp_gen_0000",
- "AyqFm",
- "module",
- 129
- ],
- "sram_if_0000": [
- "sram_if_0000",
- "nJgqZ",
- "module",
- 131
- ],
- "sram_dmux_w_0000": [
- "sram_dmux_w_0000",
- "dc6nH",
- "module",
- 134
- ],
- "dpram": [
- "dpram",
- "bQxt6",
- "module",
- 135
- ],
- "clk_regfile": [
- "clk_regfile",
- "jAdLC",
- "module",
- 136
- ],
- "awg_top": [
- "awg_top",
- "J5zQK",
- "module",
- 137
- ],
- "DEM_PhaseSync_4008": [
- "DEM_PhaseSync_4008",
- "sIRhK",
- "module",
- 138
- ],
- "DA4008_DEM_Parallel_PRBS_1CH": [
- "DA4008_DEM_Parallel_PRBS_1CH",
- "cQW1k",
- "module",
- 139
- ],
- "spi_bus_decoder_0000": [
- "spi_bus_decoder_0000",
- "qLaCg",
- "module",
- 142
- ],
- "spi_slave": [
- "spi_slave",
- "eAsJz",
- "module",
- 143
- ],
- "spi_sys_0000": [
- "spi_sys_0000",
- "QT8j3",
- "module",
- 144
- ],
- "clk_gen": [
- "clk_gen",
- "MEIvW",
- "module",
- 146
- ],
- "DEM_Reverse_64CH_0000": [
- "DEM_Reverse_64CH_0000",
- "YnCHV",
- "module",
- 147
- ],
- "lvds_if": [
- "lvds_if",
- "nS0i0",
- "module",
- 151
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 153
- ]
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/constraint.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/constraint.sdb
deleted file mode 100644
index 85e2664..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/constraint.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/covg_defs b/DA4008_V1.2/sim/chip_top/simv.daidir/covg_defs
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/.version b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/.version
deleted file mode 100644
index ed555f5..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/.version
+++ /dev/null
@@ -1,4 +0,0 @@
-O-2018.09-SP2_Full64
-Build Date = Feb 28 2019 22:34:30
-RedHat
-Compile Location: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/AllModulesSkeletons.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/AllModulesSkeletons.sdb
deleted file mode 100644
index 07bd0fe..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/AllModulesSkeletons.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/HsimSigOptDb.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/HsimSigOptDb.sdb
deleted file mode 100644
index 405f474..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/HsimSigOptDb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/dumpcheck.db b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/dumpcheck.db
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/dve_debug.db.gz b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/dve_debug.db.gz
deleted file mode 100644
index c4df61c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/dve_debug.db.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db
deleted file mode 100755
index 72dfca3..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh -h
-PYTHONHOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/etc/search/pyh
-export PYTHONHOME
-PYTHONPATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export PYTHONPATH
-LD_LIBRARY_PATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib:/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export LD_LIBRARY_PATH
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcsfind_create_index.exe -z "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_E1cKA4.xml.gz" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_tapi.xml.gz" -o "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp"
-\mv "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db"
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/check_fsearch_db b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/check_fsearch_db
deleted file mode 100755
index 1c1ff54..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/check_fsearch_db
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh -h
-
-FILE_PATH="/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch"
-lockfile="${FILE_PATH}"/lock
-
-FSearch_lock_release() {
- echo "" > /dev/null
-}
-create_fsearch_db_ctrl() {
- if [ -s "${FILE_PATH}"/fsearch.stat ]; then
- if [ -s "${FILE_PATH}"/fsearch.log ]; then
- echo "ERROR building identifier database failed. Check ${FILE_PATH}/fsearch.log"
- else
- cat "${FILE_PATH}"/fsearch.stat
- fi
- return
- fi
- nohup "$1" > "${FILE_PATH}"/fsearch.log 2>&1 193>/dev/null &
- MY_PID=`echo $!`
- BUILDER="pid ${MY_PID} ${USER}@${hostname}"
- echo "INFO Started building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier."
- echo "INFO Still building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." > "${FILE_PATH}"/fsearch.stat
- return
-}
-
-dir_name=`/bin/dirname "$0"`
-if [ "${dir_name}" = "." ]; then
- cd $dir_name
- dir_name=`/bin/pwd`
-fi
-if [ -d "$dir_name"/../../../../../../../../../../.. ]; then
- cd "$dir_name"/../../../../../../../../../../..
-fi
-
-if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db" ]; then
- if [ ! -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db" ]; then
- if [ "$#" -eq 1 ] && [ "x$1" == "x-background" ]; then
- trap FSearch_lock_release EXIT
- (
- flock 193
- create_fsearch_db_ctrl "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- exit 193
- ) 193> "$lockfile"
- rstat=$?
- if [ "${rstat}"x != "193x" ]; then
- exit $rstat
- fi
- else
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
- fi
- elif [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
-fi
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz
deleted file mode 100644
index fbbb0ed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz
deleted file mode 100644
index 125a143..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/src_files_verilog b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/src_files_verilog
deleted file mode 100644
index 376b419..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/src_files_verilog
+++ /dev/null
@@ -1,48 +0,0 @@
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tphn28hpcpgv18.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_pulse_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_reset_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_stream_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/LVDS_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/SPI_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clk_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clock_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/reset_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/spi_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_ctrl.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/clk/clk_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/pulse_generator.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/ramp_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/syncer.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dac_regfile/dac_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dacif/dacif.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_define.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_undefine.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/io/iopad.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/lvds/ulink_rx.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/bhv_spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_dmux.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/tsmc_dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_gen_unit.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_bus_decoder.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_pll.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_slave.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_sys.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/systemregfile/systemregfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/da4008_chip_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/digital_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/topmodules b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/topmodules
deleted file mode 100644
index 5dce012..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/topmodules
+++ /dev/null
@@ -1 +0,0 @@
-rLDB\$cCs1S%g)!tx".<8YS9I:>B;?572A*').Q)* $*+sxBI,8DOXPEP6tn7\2[eZ>$m=:2B;Rei F)BLmwlOL"VInAlO
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/vir.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/vir.sdb
deleted file mode 100644
index a29ccd6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/vir.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/eblklvl.db b/DA4008_V1.2/sim/chip_top/simv.daidir/eblklvl.db
deleted file mode 100644
index 2870040..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/eblklvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/elabmoddb.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/elabmoddb.sdb
deleted file mode 100644
index 1bf90b0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/elabmoddb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/external_functions b/DA4008_V1.2/sim/chip_top/simv.daidir/external_functions
deleted file mode 100644
index 394a9dd..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/external_functions
+++ /dev/null
@@ -1,129 +0,0 @@
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDisplay novas_call_fsdbDisplay - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMem novas_call_fsdbDumpMem - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemNow novas_call_fsdbDumpMemNow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInScope novas_call_fsdbDumpMemInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDANow novas_call_fsdbDumpMDANow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAOnChange novas_call_fsdbDumpMDAOnChange - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAInScope novas_call_fsdbDumpMDAInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInFile novas_call_fsdbDumpMemInFile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLon novas_call_fsdbDumpPSLon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLoff novas_call_fsdbDumpPSLoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAon novas_call_fsdbDumpSVAon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAoff novas_call_fsdbDumpSVAoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpStrength novas_call_fsdbDumpStrength - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSingle novas_call_fsdbDumpSingle - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpIO novas_call_fsdbDumpIO - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPattern novas_call_fsdbDumpPattern - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSubstituteHier novas_call_fsdbSubstituteHier - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $dumpports DumpPortsIeeeCALL - DumpPortsMISC
-pli $lsi_dumpports DumpPortsLsiCALL - DumpPortsMISC
-pli $dumpportson DumpPortsOnCALL - DumpPortsMISC
-pli $dumpportsoff DumpPortsOffCALL - DumpPortsMISC
-pli $dumpportsflush DumpPortsFlushCALL - DumpPortsMISC
-pli $simlearn simLearnCall simLearnCheck simLearnMisc
-pli $dumpportsall DumpPortsAllCALL - DumpPortsMISC
-pli $dumpportslimit DumpPortsLimitCALL - DumpPortsMISC
-pli $countdrivers CountDriversCALL - -
-pli $vcsmemprof DMMemProfCALL DMMemProfCheck DMMemProfMISC
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_callgraph.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_callgraph.sdb
deleted file mode 100644
index 29ba859..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_callgraph.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_level.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_level.sdb
deleted file mode 100644
index d9372b5..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_rtime_level.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_rtime_level.sdb
deleted file mode 100644
index 93f8432..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/hslevel_rtime_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/hsscan_cfg.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/hsscan_cfg.dat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall.sdb
deleted file mode 100644
index c8ddf48..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32553.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32553.sdb
deleted file mode 100644
index 50736b6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32573.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32573.sdb
deleted file mode 100644
index 520f26d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32574.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32574.sdb
deleted file mode 100644
index 35d2e97..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32575.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32575.sdb
deleted file mode 100644
index db9d5d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32576.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32576.sdb
deleted file mode 100644
index 574a192..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32577.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32577.sdb
deleted file mode 100644
index c482d66..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32578.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32578.sdb
deleted file mode 100644
index 0e5abe3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32579.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32579.sdb
deleted file mode 100644
index 5dd9049..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64094.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64094.sdb
deleted file mode 100644
index 9c5b3e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64123.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64123.sdb
deleted file mode 100644
index b73abc8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/indcall_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/nsparam.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/nsparam.dat
deleted file mode 100644
index 1afe863..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/pcc.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/pcc.sdb
deleted file mode 100644
index 49aadd2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/pcc.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/pcxpxmr.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/pcxpxmr.dat
deleted file mode 100644
index ee5778d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/pcxpxmr.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/prof.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/prof.sdb
deleted file mode 100644
index d6881ad..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/prof.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.dat
deleted file mode 100644
index 54fcebf..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.so b/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.so
deleted file mode 100755
index 6df9faa..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/rmapats.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/saifNetInfo.db b/DA4008_V1.2/sim/chip_top/simv.daidir/saifNetInfo.db
deleted file mode 100644
index a69d3f9..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/saifNetInfo.db
+++ /dev/null
@@ -1,22 +0,0 @@
-7
-TB.U_da4008_chip_top.U_iopad.PDDW08SDGZ_V_G_sync_out
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_irq
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_miso
-C
-Scal
-tsmc_dpram
-spram_512X8192_generationBWEBA
-All
-tsmc_dpram
-spram_512X8192_generationBWEBB
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBA
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBB
-All
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/simv.kdb b/DA4008_V1.2/sim/chip_top/simv.daidir/simv.kdb
deleted file mode 100644
index 68eacf4..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/simv.kdb
+++ /dev/null
@@ -1,16 +0,0 @@
-rc file Version 1.0
-
-[Design]
-COMPILE_PATH=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-SystemC=FALSE
-UUM=FALSE
-KDB=FALSE
-USE_NOVAS_HOME=FALSE
-COSIM=FALSE
-TOP=PCLAMP_G PCLAMPC_H_G PCLAMPC_V_G PDB3A_H_G PDB3A_V_G PDB3AC_H_G PDB3AC_V_G PDDW04DGZ_H_G PDDW04DGZ_V_G PDDW04SDGZ_H_G PDDW08DGZ_H_G PDDW08DGZ_V_G PDDW08SDGZ_H_G PDDW08SDGZ_V_G PDDW12DGZ_H_G PDDW12DGZ_V_G PDDW12SDGZ_H_G PDDW12SDGZ_V_G PDDW16DGZ_H_G PDDW16DGZ_V_G PDDW16SDGZ_H_G PDDW16SDGZ_V_G PDUW04DGZ_H_G PDUW04DGZ_V_G PDUW04SDGZ_H_G PDUW08DGZ_H_G PDUW08DGZ_V_G PDUW08SDGZ_H_G PDUW12DGZ_H_G PDUW12DGZ_V_G PDUW12SDGZ_H_G PDUW12SDGZ_V_G PDUW16DGZ_H_G PDUW16DGZ_V_G PDUW16SDGZ_H_G PDUW16SDGZ_V_G PDXOEDG_H_G PDXOEDG_V_G PENDCAP_G PENDCAPA_G PRCUT_G PRCUTA_G PRDW08DGZ_H_G PRDW08DGZ_V_G PRDW08SDGZ_H_G PRDW08SDGZ_V_G PRDW12DGZ_H_G PRDW12DGZ_V_G PRDW12SDGZ_H_G PRDW12SDGZ_V_G PRDW16DGZ_H_G PRDW16DGZ_V_G PRDW16SDGZ_H_G PRDW16SDGZ_V_G PRUW08DGZ_H_G PRUW08DGZ_V_G PRUW08SDGZ_H_G PRUW08SDGZ_V_G PRUW12DGZ_H_G PRUW12DGZ_V_G PRUW12SDGZ_H_G PRUW12SDGZ_V_G PRUW16DGZ_H_G PRUW16DGZ_V_G PRUW16SDGZ_H_G PRUW16SDGZ_V_G PVDD1A_H_G PVDD1A_V_G PVDD1AC_H_G PVDD1AC_V_G PVDD1ANA_H_G PVDD1ANA_V_G PVDD1DGZ_H_G PVDD1DGZ_V_G PVDD2ANA_H_G PVDD2ANA_V_G PVDD2DGZ_H_G PVDD2DGZ_V_G PVDD2POC_H_G PVDD2POC_V_G PVDD3A_H_G PVDD3A_V_G PVDD3AC_H_G PVDD3AC_V_G PVSS1A_H_G PVSS1A_V_G PVSS1AC_H_G PVSS1AC_V_G PVSS1ANA_H_G PVSS1ANA_V_G PVSS1DGZ_H_G PVSS1DGZ_V_G PVSS2A_H_G PVSS2A_V_G PVSS2AC_H_G PVSS2AC_V_G PVSS2ANA_H_G PVSS2ANA_V_G PVSS2DGZ_H_G PVSS2DGZ_V_G PVSS3A_H_G PVSS3A_V_G PVSS3AC_H_G PVSS3AC_V_G PVSS3DGZ_H_G PVSS3DGZ_V_G sirv_gnrl_xchecker sirv_gnrl_dffl sirv_gnrl_ltch clk_gen reset_tb TB
-OPTION=-ssz -ssv -ssy
-ELAB_OPTION=-ssz -ssv -ssy
-
-[Value]
-WREALX=ffff534e50535f58
-WREALZ=ffff534e50535f5a
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/stitch_nsparam.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/stitch_nsparam.dat
deleted file mode 100644
index 0357d47..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/stitch_nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/tt.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/tt.sdb
deleted file mode 100644
index d2a450a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/tt.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32553.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32553.sdb
deleted file mode 100644
index 698630c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32573.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32573.sdb
deleted file mode 100644
index fe16d76..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32574.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32574.sdb
deleted file mode 100644
index 84f865e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32575.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32575.sdb
deleted file mode 100644
index 25fe685..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32576.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32576.sdb
deleted file mode 100644
index 7f3e06e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32577.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32577.sdb
deleted file mode 100644
index 7782563..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32578.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32578.sdb
deleted file mode 100644
index 05787d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32579.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32579.sdb
deleted file mode 100644
index 3195347..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64094.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64094.sdb
deleted file mode 100644
index bca1a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64118.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64118.sdb
deleted file mode 100644
index 905b8e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64118.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64119.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64119.sdb
deleted file mode 100644
index 148ba9f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64119.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64120.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64120.sdb
deleted file mode 100644
index f4ec790..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64120.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64121.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64121.sdb
deleted file mode 100644
index d5b27d3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64121.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64122.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64122.sdb
deleted file mode 100644
index e1e2683..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64122.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64123.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64123.sdb
deleted file mode 100644
index 69ae935..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64124.sdb b/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64124.sdb
deleted file mode 100644
index e8f7aa2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/ttIncr_64124.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcs_rebuild b/DA4008_V1.2/sim/chip_top/simv.daidir/vcs_rebuild
deleted file mode 100755
index 403c9c0..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/vcs_rebuild
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_elabout.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_elabout.db
deleted file mode 100644
index d941a4e..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_elabout.db
+++ /dev/null
@@ -1,691 +0,0 @@
-hsDirType 1
-fHsimDesignHasDebugNodes 63
-fNSParam 1024
-fLargeSizeSdfTest 0
-fHsimDelayGateMbme 0
-fNoMergeDelays 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fSharedMasterElab 0
-hsimLevelizeDone 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimTransUsingdoMpd32 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllXmrs 1
-fHsimMvsimDb 0
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpOffsetData 1
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimCgVectors2Debug 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimAllLevelSame 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimCbkOptDiag 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimOnepass 0
-fHsimStitchNew 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimSeqUdpDbsByteArray 0
-fHsimCoLocate 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimUdpDynElab 0
-fHsimCompressData 4
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimNoSched0Reg 0
-fHsimAmsFusionEnabled 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimBcOpt 1
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimScanDbgPerf 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimDumpMdb 0
-fHsimElabDiag 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCgRt 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimClasses 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fCompressSDF 0
-fDlpSvtbExclElab 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimNoPeekInMdbCell 0
-igetOpcodeSmdPtrLayoutId -1
-igetFieldSmdPtr -1
-fDebugDump 1
-fHsimOrigNodeNames 0
-fHsimCgVectors2VOnly 0
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdOptSVTypes 1
-fHsHasPeUpXmr 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimVectorGates 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgLevelize 0
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 0
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 1
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-fHsimFoldedCell 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimGateEdgeEventSched 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 151652416
-fHsimIslandByIslandFlat1 4
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fSpecifyInDesign 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsimPCSharedLibSpecified 0
-fHsFgpSchedCgUcLoads 1
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsSVNettypePerfOpt 0
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_virtintf_info.dat b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_virtintf_info.dat
deleted file mode 100644
index 9b9249a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_master_hsim_virtintf_info.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hil_stmts.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hil_stmts.db
deleted file mode 100644
index e11ffed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hil_stmts.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsdef.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsdef.db
deleted file mode 100644
index e5d4b23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsdef.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_elab.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_elab.db
deleted file mode 100644
index 187a05b..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_elab.db
+++ /dev/null
@@ -1,1217 +0,0 @@
-psSimBaseName simv
-psLogFileName compile.log
-pDaiDir /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir
-destPath csrc/
-fSharedMaster 0
-fHsimPCSharedLibSpecified 0
-hsMainFileCount 0
-hsMainFileName dummy
-hsAuxFileName dummy
-hsimDlpPartitionFilename 0
-partitionName 6 MASTER
-hsimInitRegValue 3
-fNSParam 1024
-hsim_noschedinl 0
-hsim_hdbs 4096
-eval_order_seq 0
-simorder_light 0
-partialelab 0
-hsim_csdf -2147483648
-fHsimRuntimeElabSdf 0
-fNtcNewSolver 0
-fHsimSdfFileOpt 0
-fHsimTransUsingdoMpd32 0
-hsDirType 1
-fHsimClasses 0
-fHsimPulseMPDelay 1
-fHsimMvsimDb 0
-fHsimMvsimDebug 0
-fHsimAllXmrs 1
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimDoXmrProcessing 1
-fNoMergeDelays 0
-uGlblTimeUnit 4
-fHsimAllMtm 0
-fSimprofileNew 0
-fHsimVhVlOpt 0
-fHsimMdbVhVlInputFuseOpt 0
-fHsimMdbVhVlInoutFuseOpt 0
-fHsimMdbVhVlCcnOpt 0
-fHsimVlVhOpt 0
-fHsimVlVhVlOpt 0
-fHsimVlVhBfuseOpt 0
-xpropMergeMode 0
-xpropUnifiedInferenceMode 0
-xpropOverride 0
-isXpropConfigEnabled 0
-fHsimVectorConst 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fNewCBSemantics 1
-fSchedAtEnd 0
-fSpecifyInDesign 0
-fHsimDumpFlatData 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceStrId 1
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllExtXmrsDiag 0
-fHsimAllExtXmrsAllowClkFusing 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimAmsNewDrs 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpElabData 1
-fHsimNoDeposit 0
-fHsimDumpOffsetData 1
-fNoOfsOpt 0
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimDynamicElabDiag 0
-fHsimPrintPats 1
-fHsimInterpreted 0
-fHsimAggressiveCodegenForDelays 1
-fHsimAggressiveCgNtcDelays 1
-fHsimCgDelaysDiag 0
-fHsimCodegenForVectors 1
-fHsimCgVectors2E 1
-fHsimCgVectors2W 1
-fHsimCgVectors2Cbk 1
-fHsimCgVectors2Force 0
-fHsimCgVectors2Debug 0
-fHsimCgVectors2Diag 0
-fHsimHdlForceInfoDiag 0
-fHsimHdlForceInfo 0
-fHsimCodegenForTcheck 1
-fHsimUdpsched 0
-fHsimUdpTetramax 0
-fHsimUdpDelta 0
-fHsimMasterNodesOpt 0
-fHsimTransOpt 1
-fHsimNoPortOBN 0
-fHsimGateGroup 0
-fHsimOldXmr 0
-fHsimConst 1
-fHsimOptimizeSeqUdp 1
-fHsimOptimizeNotifier 0
-fHsimPrintUdpTable 0
-fHsimConstDelay 0
-fHsimConstForce 0
-fHsimCcnOpt4 0
-fHsimCcnOptDiag 0
-fHsimCcn 1
-fHsimDynamicCcn 0
-fHsimTestBoundaryConditions1 0
-fHsimTestBoundaryConditions2 0
-fHsimTestBoundaryConditions3 0
-fHsimTestElabNodeLimit 0
-fHsimInsertSched0ForLhsSelects 1
-fHsimVectors 1
-fHsimOde 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeUdp 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimOde4State 0
-fHsimOdeDiag 0
-fHsimOdeWithVecNew 0
-fHsimOdeAcceptDeadGates 0
-fHsimOdeAcceptValue4Loads 0
-fHsimOdeAmdSRLatch 0
-fHsimRmvSched0OnDataOfFlop 0
-fHsimRmvSched0OnMpd 0
-fHsimAllLevelSame 0
-fHsimDbsList 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimCodeShare 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fRaptorProf 0
-fHsimVpdOptGateMustDisable 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimVpdOptDiag 0
-fHsimVpdOptRtlIncrFix 0
-fHsimVpdOptDiagV 0
-fHsimCbkOptVecWithVcsd 0
-fHsimCbkOptDiag 0
-fHsimByRefIBN 1
-fHsimWireMda 1
-fHsimUniqifyElabDiag 0
-fHsimForceCbkVec 1
-fHsimSplitForceCbkVec 1
-fHsimLowPower 0
-fHsimLowPowerDumpOnly 0
-fHsimLowPowerDiag 0
-fHsimXpropFix 1
-fHsimXpropConfigTrace 0
-fHsimNameBasedInterface 1
-fHsimVcsInterfaceHierDiag 0
-fHsimCbSchedFix 0
-fHsimIncrDebug 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimSKIncr 0
-fElabModTimeProfCount 0
-fHsimChangeSharedLib 0
-fHsimNewIncr 1
-fHsimIncrSkip 0
-fHsimSecondCheckMdb 0
-fHsimIntraXmrNotMaster 0
-fHsimExtNodeDiag 0
-fHsimExtIntfXmrDebug 0
-fHsimExtXmrNodeDiag 0
-fPartTopElabModName 0
-fHsimPreResolveXmr 1
-fHsimNoIntfXmrNonMaster 1
-fHsimXmrPropDebug 0
-fHsimXmrElabDebug 0
-fHsimXmrNoMaster 1
-fHsimXmrNoMasterIBIF 1
-fHsimIncrMaster 0
-fHsimEffTest 0
-fHsimIncrTest 0
-fHsimIncrTesting 0
-fHsimOnepass 0
-fHsimPartModSplit 0
-fHsimNoIncrMatch 0
-fHsimMergeOnly 0
-fHsimStitchNew 0
-fHsimCbkOpt 1
-fFrcRelCbk 1
-fPulserrWarn 1
-hsMtmSpec 0
-fprofile 0
-fPreserveDaidir 1
-fHsimLevelize 1
-fHsimSelectLevelize 0
-fHsimSelectEdgeData 0
-fHsimSelectEdgeDataDbg 0
-fHsimSelectEdgeDataSched0 0
-fHsimSelectEdgeDataSanity 0
-fHsimLevelizeFlatNodeLimit 22
-fHsimLevelizeNoSizeLimit 1
-fHsimLevelizeForce 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimLevelizeNoCgDump 0
-fHsimReuseVcs1Sem 0
-semLevelizeVar -1
-fHsimLevelizeDbg 0
-fHsimMinputsPostEval 0
-fHsimSeqUdpDbsByteArray 0
-fHsimHilRtlAny 0
-fHsimHilRtlAll 0
-fHsimCoLocate 0
-fHsimNoinlSched0lq 0
-fHsimUdpOutputOpt 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimRelaxSched0 0
-fHsimLocalVar 0
-fHsimUdpDynElab 0
-fHsimCbDynElab 0
-fHsimCompressData 4
-fHsimIgnoreCaps 0
-fHsimMdbIgnoreCaps 0
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHsimIgnoreDifferentNStates 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimAllowFuseOnRegWithMultDrivers 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimSched0 0
-fHsimPulseFilter 0
-fHsimNoSched0Reg 0
-fHsimAddSched0 0
-fHsimLargeBc 0
-fHsimLargePdbModule 0
-fHsimMMDebug 0
-fHsimMMLimit 0
-hsimMMLimit 0
-fHsimAmsFusionEnabled 0
-fHsimAmsWrealMdrEnabled 0
-fHsimAmsWrealInitValZero 1
-fWrealForce 0
-fHsimCgMarkers 0
-fHsimSplitRmaCode 1
-rmapatsPattCountThreshold 1000
-fHsimElab64 0
-fHsimTestFnn64 0
-fHsimTestDgn64 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimInitialConst 0
-fHsimForceRtlDbs 0
-fHsimBcOpt 1
-fHsimBcOptDebug 0
-fHsimBfuseFast 1
-fHsimParallelElab 0
-fHsimParallelElabVcs1 0
-fpicArchive 1
-fCsrcInTmpDir 0
-fHsimInterconFE 1
-fHsimMxOpt 1
-fHsimModpathFE 1
-fHsimPathOnCCN 0
-fHsimOptMPDelayLoad 0
-fHsimTransMPDelay 1
-fLargeSizeSdfTest 0
-fAllMtm 0
-fHsimDelayGateMbme 0
-fHsimDelayGateMbmeOld 0
-fHsimNdb 1
-fHsimNdbDebug 0
-fHsimNdbTest 0
-fHsimGrpByGrpElabIncrTest 0
-fHsimGrpByGrpElabIncrTest2 0
-fHsimTestAggrCg 0
-fHsimOneInputGateAggrCg 0
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimSimlearnDdce 0
-fHsimSimlearnDdce_diag 0
-fHsimScanOpt 0
-fHsimScanOptPartComp 0
-fHsimHsoptNoScanOpt 0
-fHsimNoScanOptDeadLogic 1
-fHsimScanOptFixForDInSIPath 1
-fHsimNoScanOptForNonScanLoad 0
-fHsimScanOptLoopFix 1
-fHsimScanOptLoopFix2 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimNettypeOneDrvPerfOpt 0
-fHsimOldNettypeResFnOffset 0
-fHsimScanoptDump 0
-fHsimScanDbgFunc 0
-fHsimScanDbgPerf 0
-fHsimAutoScanSuppWarn 0
-fHsimScanOptAggr 0
-fHsimScanOptFuse 1
-fHsimScanMemOpt 1
-fHsimScanChainOpt 0
-fHsimForceChangeCheck 0
-fHsimFuseConsts 0
-fHsimMemBusOpt 0
-fHsimDefLevelElab 0
-fHsimOneInstElabMods 0
-fHsimOneInstElabModsHeur 1
-fHsimOneInstElabModsAllowDbg 0
-fHsimTopElabMods 0
-fHsimPVCS 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimVIIntegrityCheck 0
-fHsimOrigViewType 0
-fHsimXmrDumpFullDR 0
-fHsimXmrDumpDebug 0
-fHsimRTLoopDectEna 0
-fHsimAssertInActive 0
-dGblTeE 1.000000
-dGblTeR 1.000000
-dGblPeE 1.000000
-dGblPeR 1.000000
-fNewdaidirpath 0
-fHsimDelayMbmeCheck 4
-fHsimMdbPartInputLimit 1
-fHsimSdfData 0
-fHsimDesignHasSdfAnnotation 0
-fHsimDesignUsesParallelVcs 0
-fHsimCMEnabled 1
-fGblMSah 0
-fGblMSTe 0
-fGblIntPe 0
-fGblTe 0
-fGblPe 0
-iPulseR 100
-iPulseE 100
-iTransR 100
-iTransE 100
-fPulseOpt 0
-fGblPulseOnD 0
-fGblPulseOnE 0
-fVCSiFlow 0
-fSystemVCSEnabled 1
-fHsimForcedPort 0
-fpicOption 1
-fModelSave 0
-fHsimGenObj 1
-fHsimCbkMemOpt 1
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimDumpOriginalFlatNodeNumsMap 0
-fHsimRecordPli 0
-fHsimPlaybackPli 0
-fHsimModByModElabForGates 0
-fHsimMdbOpts 0
-fHsimMdbInlineNew 0
-fHsimMdbSelUdp2Rtl 0
-fHsimMdbUdp2Rtl 0
-fHsimZeroDelayDelta 1
-fHsimMdbUdp2Rtl_3state 0
-fHsimMdbUdp2Rtl_noxedge 0
-fHsimMdbUdp2Rtl_dfsr 0
-fHsimMdbInsertComplexSelect 0
-fHsimMdbNoComplexSelect 0
-fHsimMdbScalarization 0
-fHsimCmplxOperScalarization 0
-fHsimMdbVectorizeInstances2 0
-fHsimMdbVectorizeInstancesCfg 0
-fHsimMdbVectorizeInstDiag 0
-fHsimMdbVectorizeInstances3 0
-fHsimMdbOptimizeSeqUdp 0
-fHsimMdbB2BLatch 0
-fHsimMdbAggr 0
-fHsimMdbGateGroupNew 0
-fHsimMdbUdpGroup 0
-fHsimMdbOptimizeConstants 0
-fHsimMdbDfuse 0
-fHsimMdbBfuse 0
-fHsimMdbDce 0
-fHsimMdbMpopt 0
-fHsimMdbCondMpOpt 0
-fHsimMdbSimplifyMpCond 0
-fHsimDceIgnorecaps 0
-fHsimCondModPathDbs 0
-fHsimCondModPathCompact 0
-fHsimMdbCondMpMerge 0
-fHsimModPathCg 0
-fHsimNoCondModPathCg 0
-fHsimCompactCode 0
-fHsimCondTC 0
-fHsimMacroTC 0
-fHsimCondMPConst 0
-fHsimCondTCConst 0
-fHsimMergeDelay 0
-fHsimDelayOpt 0
-fRemoveDelonTrans 1
-fHsimModPathLoadOpt 1
-fHsimMdbTranOpt 0
-fHsimMdbTranMerge 0
-fHsimRmapatsCsh 0
-fHsimLrmSupply 0
-fHsimNewMbmeFlow 0
-fHsimBackEndInteg 0
-fHsimBackEndIntegCapsOk 0
-fHsimBackEndIntegDiag 0
-fHsimBackEndIntegMaxIbns 1024
-fHsimBackEndIntegDeadObns 0
-fHsimTran2MosDriver 1
-fHsimDumpCcn 0
-fHsimMdbNStateAnalysis 0
-fHsimMdbAdjustWidth 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdbPart 0
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimMdbHdbsBehavior 0
-fHsimMdbHdbsBehaviorTC 0
-fHsimMdbIbnObnPartition 0
-fHsimMdbDebugOpt0 0
-fHsimMdbClockAnalysis 0
-fHsimMdbMimo 0
-fHsimMdbMimoLite 0
-fHsimMdbMimoAggr 0
-fHsimDumpMdb 0
-fHsimDumpMdbVpd 0
-fHsimElabDiag 0
-fHsimElabMasterDiag 0
-fHsimElabDiagSummary 0
-fHsimElabDiagMn 0
-fHsimElabDiagMnCount 0
-fHsimElabDiagLite 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimDbsAlwaysBlocks 1
-fHsimPrintNodeMap 0
-fHsimSvAggr 0
-fHsimDynamicFlatNode 0
-fHsimSeqPrimCg 1
-fHsimDiagPats 0
-fHsimDdPats 0
-fHsimPatOpt 3
-fHsimPatInline 0
-fHsimPatOutline 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCloadOpt 0
-fHsimNoICDelayPropPwEqDelay 0
-fHsimPrintMopComment 0
-fNewRace 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCg 0
-fHsimNewCgRt 0
-fHsimNewCgFg 0
-fHsimNewCgMinput 0
-fHsimNewCgUpdate 0
-fHsimNewCgMP 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimNewCgTC 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbInstDiag 0
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fHsimSdfICOverlap 0
-fHsimSdfICDiag 0
-fHsimSdfICOpt 0
-fHsimMsvSdfInout 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimGrpByGrpElabIncrDiag 0
-fHsimEvcdTranSeen 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimNoPruning 0
-fHsimNoVarBidirs 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbUnidirSelects 0
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimNoTcSched 0
-fHsimSchedOpt 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fHsimDumpMdbAll 0
-fHsimDumpMdbRaptor 0
-fHsimDumpMdbGates 0
-fHsimDumpMdbPrune 0
-fHsimDumpMdbInline 0
-fHsimDumpMdbCondTC 0
-fHsimDumpMdbNState 0
-fHsimDumpMdbVhVlInputFuseOpt 0
-fHsimDumpMdbVhVlInoutFuseOpt 0
-fHsimDumpMdbVhVlCcnOpt 0
-fCompressSDF 0
-fHsimDumpMdbSchedDelta 0
-fHsimDumpMdbNoVarBidirs 0
-fHsimDumpMdbScalarize 0
-fHsimDumpMdbVecInst 0
-fHsimDumpMdbVecInst2 0
-fHsimDumpMdbDce 0
-fHsimDumpMdbScanopt 0
-fHsimDumpMdbSelects 0
-fHsimDumpMdbAggr 0
-fHsimDumpMdbOptConst 0
-fHsimDumpMdbVcsInterface 0
-fHsimDumpMdbDfuse 0
-fHsimDumpMdbBfuse 0
-fHsimDumpMdbTranOpt 0
-fHsimDumpMdbOptLoops 0
-fHsimDumpMdbSeqUdp 0
-fHsimDumpMdbMpOpt 0
-fHsimDumpMdbGG 0
-fHsimDumpMdbUdpGG 0
-fHsimDumpMdbMimo 0
-fHsimDumpMdbUdp2rtl 0
-fHsimDumpMdbUdpDelta 0
-fHsimDumpMdbDebugOpt 0
-fHsimDumpMdbSplitGates 0
-fHsimDumpMdb1006Part 0
-fHsimDumpMdbPart 0
-fHsimDumpMdbSimplifyMpCond 0
-fDlpSvtbExclElab 0
-fHsimDumpMdbCondMpMerge 0
-fHsimDumpMdbCondMp 0
-fHsimDumpMdbCondModPathDbs 0
-fHsimSdfAltRetain 0
-fHsimDumpMdbCompress 1
-fHsimDumpMdbSummary 0
-fHsimBfuseOn 1
-fHsimBfuseHeur 0
-fHsimBfuseHash 1
-fHsimSelectCell 0
-fHsimBfuseNoRedundantFanout 1
-fHsimBFuseVectorMinputGates 0
-fHsimBFuseVectorAlways 0
-fHsimDfuseOn 1
-fHsimDumpMdbPruneVpdGates 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimMdbCellComplexity 1.500000
-fHsimMdbCellHeur 1
-fHsimNoPeekInMdbCell 0
-fDebugDump 1
-fHsimOrigNodeNames 0
-hsimSrcList filelist
-fHsimCgVectors2VOnly 0
-fHsimPortCoerce 0
-fHsimBidirOpt 0
-fHsimCheckLoop 1
-fHsimCheckLoopDiag 0
-fHsimCheckLoopMore 0
-fHsimLoop 1
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdHighConnReplaced 1
-fHsimVpdOptSVTypes 1
-fHsimDlyInitFrc 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimUseBidirSelectsInVectorGates 0
-fHsimGates2 0
-fHsimVectorGates 0
-fHsimHilCg 0
-fHsimHilVecAndRtl 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgUnidirSel 0
-fHsimMdbcgLhsConcat 0
-fHsimMdbcgSelectSplit 0
-fHsimMdbcgProcessSelSplit 0
-fHsimMdbcgEdgeop 0
-fHsimMdbcgMultiDelayControl 1
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseVecIgnoreFrc 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimAllPortsDiag 0
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 1
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptConst 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 0
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsimNewConstProp 0
-fHsimSignedOp 0
-fHsimVarIndex 0
-fHsimNewMdbNstate 0
-fHsimProcessNstate 0
-fHsimMdbModpathNstate 0
-fHsimPgateConst 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsNBACgOpt 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsimMemory 0
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fRtdbgAccess 0
-fRtdbgOption 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-vcsNettypeDbgOpt 4
-fHsimFoldedCell 0
-fHsimSimon2Mdb 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimSlowNfsRmapats 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fHashTableSize 12
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fHsimByteCodePartTesting 0
-fHsimByteCodePartAssert 0
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimLevelCompaction 0
-fHsimLevelCompactionThreshold 0
-fHsimGateEdgeEventSched 0
-fHsimGateEdgeEventSchedThreshold 0
-fHsimGateEdgeEventSchedSanity 0
-fHsimSelectEdgeEventSched 0
-fHsimSelectEdgeEventSchedNoTempReuse 0
-fHsimSelectEdgeEventSchedThreshold 0
-fHsimMaxComboLevels 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpMultiSocketAfterGrping 0
-fFgpMultiSocketNCuts 1
-fFgpMultiSocketDiag 0
-fFgpMultiSocketRecomputePart 1
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpXmrDepOn 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpTcLoadThreshold 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpSanityTest 0
-fFgpSanityTest_Eng 1
-fFgpAlternativeLevelization 0
-fFgpHighFanoutThreshold 1024
-fFgpSplitGroupLevels 1
-fFgpSplitGroupIbn 1
-fFgpSplitGroupGateEdge 1
-fFgpSplitGroupEval 3
-fFgpGroupingPerfDiag 0
-fFgpSplitGroupDiag 0
-fFgpStricDepModDiag 0
-fFgpIPProtect 0
-fFgpIPProtectStrict 0
-fFgpNoVirtualThreads 0
-fFgpLoadBalance0DiagComp 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedNoLevel 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpObnSched 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fHsimNetXmrDrvChk 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 0
-fHsimIslandByIslandFlat1 0
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-fHsimElabJ4SDF 0
-cElabProcs 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimElabJMMFactor 0
-fHsimOneInstCap 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedRandom 0
-fHsimSchedAll 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fHsimSchedSelectFanoutRandom 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimNoReconvergenceSched0 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpMbme 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fFgpHideXmrNodes 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsimAggrTCOpt 0
-fFgpNewAggrXmrIterFlow 0
-fFgpNoLocalReferer 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsFgpSchedCgUcLoads 1
-fHsimAdvanceUdpInfer 0
-fFgpIbnSchedIntf 0
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsimCosimGatesProp 0
-fHsSVNettypePerfOpt 0
-fHsCgOptHashFixMap 1
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
-fHsimCongruencyConfigFile 0
-fHsimCongruencyLogFile 0
-fHsimCoverageEnabled 1
-fHsimCoverageOptions 279
-fHsimCoverageDir ./coverage/simv.vdb
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_fegate.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_fegate.db
deleted file mode 100644
index 8be0045..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_fegate.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_lvl.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_lvl.db
deleted file mode 100644
index 861898a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_lvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_merge.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_merge.db
deleted file mode 100644
index 3e9e254..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_merge.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_name.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_name.db
deleted file mode 100644
index 2c3116f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_name.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_uds.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_uds.db
deleted file mode 100644
index 3544e39..0000000
--- a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_hsim_uds.db
+++ /dev/null
@@ -1,10 +0,0 @@
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_midd.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_midd.db
deleted file mode 100644
index 2c06e1c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_midd.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_mnmn.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_mnmn.db
deleted file mode 100644
index d30eaa6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_mnmn.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partition.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partition.db
deleted file mode 100644
index 45c0dfb..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partition.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partitionDbg.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partitionDbg.db
deleted file mode 100644
index 410c022..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_partitionDbg.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_tCEYNb b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_tCEYNb
deleted file mode 100644
index f71343b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_tCEYNb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vcselabref.db b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vcselabref.db
deleted file mode 100644
index f76dd23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vcselabref.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vpdnodenums b/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vpdnodenums
deleted file mode 100644
index c7400e4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/simv.daidir/vcselab_misc_vpdnodenums and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/cm.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/cm.log
deleted file mode 100644
index dd44274..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/cm.log
+++ /dev/null
@@ -1,1428 +0,0 @@
-: // Synopsys, Inc.
-: //
-
-: // Generated by: VCS Coverage Metrics O-2018.09-SP2_Full64
-: // User: shbyang
-: // Date: Sat Mar 14 17:19:29 2026
-
-: Disabling fsm sequence coverage for module \$unit::../../lib/tphn28hpcpgv18.v::../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v...@348857874 ...
-: Disabling fsm sequence coverage for module PCLAMP_G ...
-: Disabling fsm sequence coverage for module PCLAMPC_H_G ...
-: Disabling fsm sequence coverage for module PCLAMPC_V_G ...
-: Disabling fsm sequence coverage for module PDB3A_H_G ...
-: Disabling fsm sequence coverage for module PDB3A_V_G ...
-: Disabling fsm sequence coverage for module PDB3AC_H_G ...
-: Disabling fsm sequence coverage for module PDB3AC_V_G ...
-: Disabling fsm sequence coverage for module PDDW04DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW04DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW04SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW04DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW04DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW04SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDXOEDG_H_G ...
-: Disabling fsm sequence coverage for module PDXOEDG_V_G ...
-: Disabling fsm sequence coverage for module PENDCAP_G ...
-: Disabling fsm sequence coverage for module PENDCAPA_G ...
-: Disabling fsm sequence coverage for module PRCUT_G ...
-: Disabling fsm sequence coverage for module PRCUTA_G ...
-: Disabling fsm sequence coverage for module PRDW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD1A_H_G ...
-: Disabling fsm sequence coverage for module PVDD1A_V_G ...
-: Disabling fsm sequence coverage for module PVDD1AC_H_G ...
-: Disabling fsm sequence coverage for module PVDD1AC_V_G ...
-: Disabling fsm sequence coverage for module PVDD1ANA_H_G ...
-: Disabling fsm sequence coverage for module PVDD1ANA_V_G ...
-: Disabling fsm sequence coverage for module PVDD1DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVDD1DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD2ANA_H_G ...
-: Disabling fsm sequence coverage for module PVDD2ANA_V_G ...
-: Disabling fsm sequence coverage for module PVDD2DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVDD2DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD2POC_H_G ...
-: Disabling fsm sequence coverage for module PVDD2POC_V_G ...
-: Disabling fsm sequence coverage for module PVDD3A_H_G ...
-: Disabling fsm sequence coverage for module PVDD3A_V_G ...
-: Disabling fsm sequence coverage for module PVDD3AC_H_G ...
-: Disabling fsm sequence coverage for module PVDD3AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS1A_H_G ...
-: Disabling fsm sequence coverage for module PVSS1A_V_G ...
-: Disabling fsm sequence coverage for module PVSS1AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS1AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS1ANA_H_G ...
-: Disabling fsm sequence coverage for module PVSS1ANA_V_G ...
-: Disabling fsm sequence coverage for module PVSS1DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS1DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVSS2A_H_G ...
-: Disabling fsm sequence coverage for module PVSS2A_V_G ...
-: Disabling fsm sequence coverage for module PVSS2AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS2AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS2ANA_H_G ...
-: Disabling fsm sequence coverage for module PVSS2ANA_V_G ...
-: Disabling fsm sequence coverage for module PVSS2DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS2DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVSS3A_H_G ...
-: Disabling fsm sequence coverage for module PVSS3A_V_G ...
-: Disabling fsm sequence coverage for module PVSS3AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS3AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS3DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS3DGZ_V_G ...
-: Disabling fsm sequence coverage for module sirv_gnrl_xchecker ...
-: Disabling fsm sequence coverage for module sirv_gnrl_dffl ...
-: Disabling fsm sequence coverage for module sirv_gnrl_ltch ...
-: Disabling fsm sequence coverage for module clk_gen ...
-: Disabling fsm sequence coverage for module reset_tb ...
-: Disabling fsm sequence coverage for module TB ...
-: Disabling fsm sequence coverage for module TB.clk_inst ...
-: Disabling fsm sequence coverage for module TB.clk_40g_inst ...
-: Disabling fsm sequence coverage for module TB.spi_bus ...
-: Disabling fsm sequence coverage for module TB.lvds_bus ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_async_rstn ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDDW04SDGZ_V_G_sync_in ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDDW08SDGZ_V_G_sync_out ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW04SDGZ_V_G_sclk ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW04SDGZ_V_G_csn ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_mosi ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_miso ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_irq ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.mst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.cmd_or_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.second_falling_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.wnr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_m5b_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_l8b_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.chipid_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.rddata_update_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.oen_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.miso_reg_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[0].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[1].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[2].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[3].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[4].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[5].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[6].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[7].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[8].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[9].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[10].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[11].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[12].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[13].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[14].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[15].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[16].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[17].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[18].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[19].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[20].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[21].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[22].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[23].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[24].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[25].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[26].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[27].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[28].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[29].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[30].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[31].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.sclk_reg_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.csn_reg_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.mosi_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_vld_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cmd_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_vld_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.second_falling_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.addr_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wrdata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rden_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rddata_reg_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_dout_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.oen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[0].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[1].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[2].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[3].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[4].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[5].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[6].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[7].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[8].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[9].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[10].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[11].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[12].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[13].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[14].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[15].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[16].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[17].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[18].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[19].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[20].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[21].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[22].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[23].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[24].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[25].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[26].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[27].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[28].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[29].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[30].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[31].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.testr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sfrtr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sync_oen_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rampctr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.ramp_ifs_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.doselr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsftr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstfr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstsr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsthr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstamr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsdser_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstaor_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.llvdssr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfcsr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdscecr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfstr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdststr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.imr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sys_soft_rstn_r_dffls ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rddata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.train_ready_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.crc_error_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cphase_adj_req_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.link_down_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_full_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_empty_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.isr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.misr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.irq_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch0_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch1_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch2_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch3_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_SYNC_CLR_S ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_SYNC ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.delay_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefilling_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_done_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane0_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane1_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane2_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane3_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.bit_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_counter_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.delay_tap_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.tap_adj_req_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.link_down_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_ready_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_buf_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_head_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.valid_int_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.descram_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_in_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_status_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u0 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u1 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u2 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u3 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram.bhv_spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_fifo_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_word_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_len_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_cnt_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_offset_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.block_done_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.base_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.byte_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_done_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_crc32 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_clear_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_error_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_status_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[0].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[1].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[2].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[3].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[4].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[5].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[6].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[7].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[8].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[9].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[10].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[11].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[12].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[13].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[14].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[15].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[0].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[1].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[2].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[3].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[4].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[5].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[6].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[7].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[8].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[9].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[10].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[11].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[12].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[13].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[14].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[15].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.data_temp0_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.SYNCER[1].data_tempn0_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_out_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.pulse_inst_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.sync_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.cycle_num_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.base_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_leng_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_leng_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.addr_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_addr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_sram_rd_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_wave_data_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_rddata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_n_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram.bhv_spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxin ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxout ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.U_sram_dmux_w ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_ramp_gen ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.dacif_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[0].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[1].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[2].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[3].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[4].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[5].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[6].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[7].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[8].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[9].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[10].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[11].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[12].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[13].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[14].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[15].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[16].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[17].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[18].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[19].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[20].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[21].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[22].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[23].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[24].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[25].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[26].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[27].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[28].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[29].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[30].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[31].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[32].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[33].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[34].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[35].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[36].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[37].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[38].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[39].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[40].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[41].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[42].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[43].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[44].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[45].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[46].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[47].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[48].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[49].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[50].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[51].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[52].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[53].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[54].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[55].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[56].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[57].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[58].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[59].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[60].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[61].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[62].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[63].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[0].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[1].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[2].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[3].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[4].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[5].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[6].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[7].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[8].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[9].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[10].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[11].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[12].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[13].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[14].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[15].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[16].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[17].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[18].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[19].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[20].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[21].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[22].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[23].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[24].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[25].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[26].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[27].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[28].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[29].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[30].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[31].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[32].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[33].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[34].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[35].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[36].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[37].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[38].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[39].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[40].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[41].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[42].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[43].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[44].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[45].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[46].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[47].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[48].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[49].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[50].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[51].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[52].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[53].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[54].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[55].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[56].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[57].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[58].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[59].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[60].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[61].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[62].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[63].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rtermr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.prbsr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set0r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set1r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set2r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set3r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set4r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set5r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set6r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set7r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set8r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set9r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set10r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set11r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set12r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set13r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set14r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set15r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set16r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set17r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set18r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set19r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set20r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set21r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set22r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set23r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set24r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set25r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set26r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set27r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set28r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set29r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set30r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set31r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casaddrr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casdwr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.imctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.ibleedctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.iclkcmlr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rddata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrstnr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.cclkdccenr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.casclkctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccaldccqecpir_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalqecctr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.biasct3r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalpictr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalcrossctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck10gdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck2p5gdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck625mdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2sdataenr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enallpr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enpipr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.clkdivrstnr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ckrxswr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rstckr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ctrzinr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rddata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[0] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[1] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[2] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[3] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.DEM_VLD_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_0 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_1 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_2 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_3 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_4 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_5 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_6 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_7 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_8 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_9 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_10 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_11 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_12 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_13 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_14 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_15 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_16 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_17 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_18 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_19 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_20 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_21 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_22 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_23 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_24 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_25 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_26 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_27 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_28 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_29 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_30 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_31 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_32 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_33 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_34 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_35 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_36 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_37 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_38 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_39 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_40 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_41 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_42 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_43 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_44 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_45 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_46 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_47 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_48 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_49 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_50 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_51 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_52 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_53 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_54 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_55 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_56 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_57 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_58 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_59 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_60 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_61 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_62 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_63 ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[0].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[1].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[2].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[3].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[4].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[5].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[6].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[7].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[8].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[9].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[10].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[11].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[12].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[13].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[14].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[15].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[16].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[17].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[18].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[19].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[20].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[21].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[22].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[23].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[24].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[25].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[26].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[27].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[28].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[29].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[30].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[31].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[32].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[33].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[34].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[35].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[36].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[37].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[38].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[39].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[40].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[41].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[42].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[43].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[44].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[45].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[46].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[47].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[48].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[49].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[50].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[51].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[52].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[53].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[54].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[55].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[56].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[57].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[58].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[59].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[60].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[61].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[62].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[63].U_DEM_Reverse ...
-: Starting toggle coverage for module sirv_gnrl_xchecker
-: Starting toggle coverage for module sirv_gnrl_dffl
-: Starting toggle coverage for module sirv_gnrl_ltch
-: Starting toggle coverage for module clk_gen
-: Starting toggle coverage for module reset_tb
-: Starting toggle coverage for module TB
-: Starting toggle coverage for module TB.clk_inst
-: Starting toggle coverage for module TB.clk_40g_inst
-: Starting toggle coverage for module TB.spi_bus
-: Starting toggle coverage for module TB.lvds_bus
-: Starting toggle coverage for module TB.U_da4008_chip_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_iopad
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.mst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.cmd_or_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.second_falling_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.wnr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_m5b_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_l8b_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.chipid_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.rddata_update_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.oen_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.miso_reg_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[0].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[1].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[2].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[3].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[4].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[5].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[6].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[7].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[8].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[9].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[10].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[11].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[12].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[13].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[14].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[15].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[16].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[17].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[18].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[19].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[20].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[21].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[22].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[23].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[24].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[25].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[26].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[27].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[28].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[29].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[30].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[31].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.sclk_reg_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.csn_reg_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.mosi_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_vld_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cmd_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_vld_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.second_falling_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.addr_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wrdata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rden_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rddata_reg_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_dout_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.oen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[0].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[1].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[2].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[3].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[4].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[5].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[6].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[7].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[8].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[9].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[10].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[11].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[12].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[13].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[14].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[15].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[16].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[17].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[18].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[19].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[20].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[21].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[22].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[23].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[24].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[25].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[26].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[27].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[28].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[29].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[30].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[31].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.testr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sfrtr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sync_oen_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rampctr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.ramp_ifs_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.doselr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsftr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstfr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstsr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsthr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstamr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsdser_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstaor_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.llvdssr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfcsr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdscecr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfstr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdststr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.imr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sys_soft_rstn_r_dffls
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rddata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.train_ready_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.crc_error_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cphase_adj_req_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.link_down_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_full_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_empty_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.isr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.misr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.irq_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch0_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch1_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch2_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch3_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_SYNC_CLR_S
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_SYNC
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.delay_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefilling_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_done_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane0_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane1_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane2_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane3_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.bit_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_counter_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.delay_tap_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.tap_adj_req_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.link_down_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_ready_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_buf_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_head_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.valid_int_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.descram_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_in_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_status_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u0
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u1
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u2
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u3
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram.bhv_spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_fifo_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_word_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_len_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_cnt_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_offset_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.block_done_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.base_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.byte_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_done_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_crc32
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_clear_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_error_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_status_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[0].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[1].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[2].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[3].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[4].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[5].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[6].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[7].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[8].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[9].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[10].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[11].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[12].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[13].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[14].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[15].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[0].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[1].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[2].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[3].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[4].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[5].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[6].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[7].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[8].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[9].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[10].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[11].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[12].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[13].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[14].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[15].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.data_temp0_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.SYNCER[1].data_tempn0_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_out_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.pulse_inst_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.sync_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.cycle_num_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.base_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_leng_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_leng_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.addr_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_addr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_sram_rd_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_wave_data_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_rddata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_n_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram.bhv_spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxin
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxout
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.U_sram_dmux_w
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_ramp_gen
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.dacif_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[0].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[1].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[2].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[3].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[4].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[5].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[6].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[7].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[8].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[9].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[10].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[11].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[12].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[13].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[14].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[15].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[16].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[17].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[18].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[19].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[20].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[21].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[22].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[23].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[24].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[25].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[26].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[27].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[28].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[29].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[30].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[31].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[32].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[33].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[34].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[35].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[36].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[37].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[38].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[39].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[40].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[41].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[42].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[43].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[44].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[45].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[46].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[47].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[48].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[49].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[50].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[51].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[52].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[53].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[54].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[55].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[56].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[57].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[58].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[59].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[60].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[61].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[62].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[63].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[0].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[1].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[2].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[3].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[4].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[5].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[6].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[7].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[8].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[9].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[10].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[11].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[12].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[13].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[14].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[15].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[16].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[17].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[18].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[19].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[20].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[21].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[22].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[23].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[24].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[25].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[26].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[27].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[28].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[29].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[30].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[31].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[32].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[33].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[34].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[35].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[36].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[37].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[38].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[39].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[40].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[41].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[42].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[43].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[44].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[45].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[46].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[47].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[48].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[49].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[50].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[51].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[52].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[53].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[54].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[55].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[56].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[57].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[58].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[59].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[60].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[61].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[62].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[63].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rtermr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.prbsr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set0r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set1r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set2r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set3r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set4r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set5r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set6r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set7r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set8r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set9r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set10r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set11r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set12r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set13r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set14r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set15r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set16r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set17r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set18r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set19r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set20r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set21r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set22r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set23r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set24r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set25r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set26r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set27r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set28r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set29r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set30r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set31r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casaddrr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casdwr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.imctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.ibleedctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.iclkcmlr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rddata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrstnr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.cclkdccenr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.casclkctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccaldccqecpir_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalqecctr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.biasct3r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalpictr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalcrossctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck10gdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck2p5gdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck625mdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2sdataenr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enallpr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enpipr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.clkdivrstnr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ckrxswr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rstckr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ctrzinr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rddata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[0]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[1]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[2]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[3]
-: Starting toggle coverage for module TB.U_da4008_chip_top.DEM_VLD_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_0
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_1
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_2
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_3
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_4
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_5
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_6
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_7
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_8
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_9
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_10
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_11
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_12
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_13
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_14
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_15
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_16
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_17
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_18
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_19
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_20
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_21
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_22
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_23
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_24
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_25
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_26
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_27
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_28
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_29
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_30
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_31
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_32
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_33
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_34
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_35
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_36
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_37
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_38
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_39
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_40
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_41
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_42
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_43
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_44
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_45
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_46
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_47
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_48
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_49
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_50
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_51
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_52
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_53
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_54
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_55
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_56
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_57
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_58
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_59
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_60
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_61
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_62
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_63
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[0].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[1].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[2].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[3].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[4].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[5].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[6].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[7].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[8].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[9].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[10].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[11].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[12].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[13].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[14].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[15].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[16].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[17].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[18].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[19].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[20].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[21].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[22].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[23].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[24].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[25].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[26].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[27].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[28].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[29].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[30].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[31].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[32].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[33].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[34].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[35].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[36].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[37].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[38].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[39].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[40].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[41].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[42].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[43].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[44].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[45].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[46].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[47].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[48].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[49].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[50].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[51].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[52].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[53].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[54].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[55].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[56].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[57].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[58].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[59].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[60].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[61].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[62].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[63].U_DEM_Reverse
-: Reporting line coverage at the end of simulation ...
-: End of Line Coverage ...
-: Reporting condition coverage at the end of simulation ...
-: End of Condition Coverage ...
-: Reporting branch coverage at the end of simulation ...
-: End of Branch Coverage ...
-: Coverage status: End of All Coverages ...
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_syn.f b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_syn.f
deleted file mode 100644
index 59d68ec..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/filelist_syn.f
+++ /dev/null
@@ -1,23 +0,0 @@
-../../../../rtl/define/chip_define.v
-../../../../sim/chip_top/TB.sv
-../../../../model/spi_if.sv
-../../../../model/DW01_addsub.v
-../../../../model/DW02_mult.v
-../../../../model/DW_mult_pipe.v
-../../../../model/clk_gen.v
-../../../../model/clock_tb.v
-../../../../model/reset_tb.v
-../../../../model/thermo2binary_top.v
-../../../../model/thermo7_binary3.v
-../../../../model/thermo15_binary4.v
-../../../../model/glbl.v
-../../../../rtl/memory/tsdn28hpcpuhdb128x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb64x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb512x128m4mwr_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/dem/DEM_31MSB_decoder_1ch.v
-../../../../rtl/dem/DEM_31MSB_decoder_16ch_XY.v
-/data/pdk/TSMCHOME/digital/Front_End/verilog/tphn28hpcpgv18_110a/tphn28hpcpgv18.v
-../../../../lib/tcbn28hpcplusbwp7t35p140.v
-../../../../syn/current/outputs/xyz_chip_top.syn.v
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.conf b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.conf
deleted file mode 100644
index 448722c..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.conf
+++ /dev/null
@@ -1,338 +0,0 @@
-[qBaseWindowStateGroup]
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1M\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\xe\0\0\0\xcb\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x6\xfc\x1\0\0\0\x1\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3g\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\size=@Size(1017 706)
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_x=597
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_y=184
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_height=706
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\size=@Size(1017 706)
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_x=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_y=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_height=706
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2v\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\x2|\0\0\x5\x4\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\size=@Size(1920 977)
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_x=-1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_y=27
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_width=1920
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_height=977
-Verdi_1\qBaseWindowNextStateGroup\0\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\0\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\0\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\0\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\1\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\1\Layout="@ByteArray(\0\0\0\xff\0\0\0\x1\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x1e\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1P\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\1\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\2\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\2\Layout="@ByteArray(\0\0\0\xff\0\0\0\x2\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x1e\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1P\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\0\0k\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\2\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\3\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\3\Layout="@ByteArray(\0\0\0\xff\0\0\0\x3\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\3\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\3\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\4\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\4\Layout="@ByteArray(\0\0\0\xff\0\0\0\x4\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\4\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\4\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_height=706
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\5\Layout="@ByteArray(\0\0\0\xff\0\0\0\x5\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\5\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\5\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_height=706
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-
-[QwMainWindow]
-window\Verdi_1\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2v\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x2|\0\0\x5\x4\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\Verdi_1\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\xff\xff\xff\xff\0\0\0\x1b\0\0\a\x80\0\0\x4\x12\0\0\0\0\0\0\0\0\xff\xff\xff\xfe\xff\xff\xff\xfe\0\0\0\0\x2\0)
-window\Verdi_1\menubar=true
-window\Verdi_1\splitters\tbvConstrDbgSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x8d\0\0\0\x8d\x1\0\0\0\x6\x1\0\0\0\x1)
-window\Verdi_1\splitters\tbvConstrRerandSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0G\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvConstrOriginSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0!\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\ThreadPane\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x37\0\0\0\x37\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvInteractiveSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvVSimSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvTBHSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0-\0\0\0?\x1\0\0\0\x6\x1\0\0\0\x2)
-window\nWave_2\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\a\x80\0\0\x1V\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\x7f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x3@\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3\x1b\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x3\xa7\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x3\xd5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\nWave_2\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1\xa2\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1\xa2\0\0\0\0\0\0)
-window\nWave_2\menubar=true
-window\nWave_2\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\xd1\x1\0\0\0\x1\0\0\0\0\x2)
-window\nWave_2\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x64\0\0\x3\x95\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0\x41\0\0\0\x1\0\0\x3Q\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x6\x1\0\0\0\x1)
-window\nWave_2\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x6\x1\0\0\0\x2)
-
-[qBaseWindow_saveRestoreSession_group]
-10=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses
-
-[qDockerWindow_C]
-Verdi_1\position.x=-1
-Verdi_1\position.y=27
-Verdi_1\width=1920
-Verdi_1\height=977
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.rc b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.rc
deleted file mode 100644
index 4245d1d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas.rc
+++ /dev/null
@@ -1,1310 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[Form]
-version = Verdi_O-2018.09-SP2
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-Wave_getsignal_form_font = -f COURIER12
-Text_annotFont = Helvetica_M_R_10
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-EventReportDialog = 590,405,720,280
-QwUserAskDlg = 798,487,324,134
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses
-2 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VCS
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[TestBenchBrowser]
--showUVMDynamicHierTreeWin = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_BLACK
-hdlPslComment = ID_BLACK
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = -1 27 1920 977 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-scope_to_save_with_macro
-open_file_dir
-open_rc_file_dir
-getSignalForm = 0 0 800 479 100 30 100 30
-viewPort = 0 27 1920 392 100 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busXLayer = -c ID_RED5
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-RecentFile1 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb\""
-open_file_time_range = FALSE
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-NameRule =
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 0 27 1920 392 100 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas_dump.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas_dump.log
deleted file mode 100644
index a9d06eb..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/novas_dump.log
+++ /dev/null
@@ -1,408 +0,0 @@
-#######################################################################################
-# log primitive debug message of FSDB dumping #
-# This is for R&D to analyze when there are issues happening when FSDB dump #
-#######################################################################################
-ANF: vcsd_get_serial_mode_status('./simv: undefined symbol: vcsd_get_serial_mode_status')
-ANF: vcsd_enable_sva_success_callback('./simv: undefined symbol: vcsd_enable_sva_success_callback')
-ANF: vcsd_disable_sva_success_callback('./simv: undefined symbol: vcsd_disable_sva_success_callback')
-ANF: vcsd_get_power_scope_name('./simv: undefined symbol: vcsd_get_power_scope_name')
-ANF: vcsd_begin_no_value_var_info('./simv: undefined symbol: vcsd_begin_no_value_var_info')
-ANF: vcsd_end_no_value_var_info('./simv: undefined symbol: vcsd_end_no_value_var_info')
-ANF: vcsd_remove_xprop_merge_mode_callback('./simv: undefined symbol: vcsd_remove_xprop_merge_mode_callback')
-ANF: vhpi_get_cb_info('./simv: undefined symbol: vhpi_get_cb_info')
-ANF: vhpi_free_handle('./simv: undefined symbol: vhpi_free_handle')
-ANF: vhpi_fetch_vcsd_handle('./simv: undefined symbol: vhpi_fetch_vcsd_handle')
-ANF: vhpi_fetch_vpi_handle('./simv: undefined symbol: vhpi_fetch_vpi_handle')
-ANF: vhpi_has_verilog_parent('./simv: undefined symbol: vhpi_has_verilog_parent')
-ANF: vhpi_is_verilog_scope('./simv: undefined symbol: vhpi_is_verilog_scope')
-ANF: scsd_xprop_is_enabled('./simv: undefined symbol: scsd_xprop_is_enabled')
-ANF: scsd_xprop_sig_is_promoted('./simv: undefined symbol: scsd_xprop_sig_is_promoted')
-ANF: scsd_xprop_int_xvalue('./simv: undefined symbol: scsd_xprop_int_xvalue')
-ANF: scsd_xprop_bool_xvalue('./simv: undefined symbol: scsd_xprop_bool_xvalue')
-ANF: scsd_xprop_enum_xvalue('./simv: undefined symbol: scsd_xprop_enum_xvalue')
-ANF: scsd_xprop_register_merge_mode_cb('./simv: undefined symbol: scsd_xprop_register_merge_mode_cb')
-ANF: scsd_xprop_delete_merge_mode_cb('./simv: undefined symbol: scsd_xprop_delete_merge_mode_cb')
-ANF: scsd_xprop_get_merge_mode('./simv: undefined symbol: scsd_xprop_get_merge_mode')
-ANF: scsd_thread_get_info('./simv: undefined symbol: scsd_thread_get_info')
-ANF: scsd_thread_vc_init('./simv: undefined symbol: scsd_thread_vc_init')
-ANF: scsd_master_set_delta_sync_cbk('./simv: undefined symbol: scsd_master_set_delta_sync_cbk')
-ANF: scsd_fgp_get_fsdb_cores('./simv: undefined symbol: scsd_fgp_get_fsdb_cores')
-ANF: msvEnableDumpingMode('./simv: undefined symbol: msvEnableDumpingMode')
-ANF: msvGetVersion('./simv: undefined symbol: msvGetVersion')
-ANF: msvGetInstProp('./simv: undefined symbol: msvGetInstProp')
-ANF: msvIsSpiceEngineReady('./simv: undefined symbol: msvIsSpiceEngineReady')
-ANF: msvSetAddProbeCallback('./simv: undefined symbol: msvSetAddProbeCallback')
-ANF: msvGetInstHandle('./simv: undefined symbol: msvGetInstHandle')
-ANF: msvGetProbeByInst('./simv: undefined symbol: msvGetProbeByInst')
-ANF: msvGetSigHandle('./simv: undefined symbol: msvGetSigHandle')
-ANF: msvGetProbeBySig('./simv: undefined symbol: msvGetProbeBySig')
-ANF: msvGetProbeInfo('./simv: undefined symbol: msvGetProbeInfo')
-ANF: msvRelease('./simv: undefined symbol: msvRelease')
-ANF: msvSetVcCallbackFunc('./simv: undefined symbol: msvSetVcCallbackFunc')
-ANF: msvCheckVcCallback('./simv: undefined symbol: msvCheckVcCallback')
-ANF: msvAddVcCallback('./simv: undefined symbol: msvAddVcCallback')
-ANF: msvRemoveVcCallback('./simv: undefined symbol: msvRemoveVcCallback')
-ANF: msvGetLatestValue('./simv: undefined symbol: msvGetLatestValue')
-ANF: msvSetEndofSimCallback('./simv: undefined symbol: msvSetEndofSimCallback')
-ANF: msvIgnoredProbe('./simv: undefined symbol: msvIgnoredProbe')
-ANF: msvGetThruNetInfo('./simv: undefined symbol: msvGetThruNetInfo')
-ANF: msvFreeThruNetInfo('./simv: undefined symbol: msvFreeThruNetInfo')
-ANF: PI_ace_get_output_time_unit('./simv: undefined symbol: PI_ace_get_output_time_unit')
-ANF: PI_ace_sim_sync('./simv: undefined symbol: PI_ace_sim_sync')
-ANF: msvGetRereadInitFile('./simv: undefined symbol: msvGetRereadInitFile')
-ANF: msvSetBeforeRereadCallback('./simv: undefined symbol: msvSetBeforeRereadCallback')
-ANF: msvSetAfterRereadCallback('./simv: undefined symbol: msvSetAfterRereadCallback')
-ANF: msvSetForceCallback('./simv: undefined symbol: msvSetForceCallback')
-ANF: msvSetReleaseCallback('./simv: undefined symbol: msvSetReleaseCallback')
-ANF: msvGetForceStatus('./simv: undefined symbol: msvGetForceStatus')
-ANF: vhdi_dt_get_type('./simv: undefined symbol: vhdi_dt_get_type')
-ANF: vhdi_dt_get_key('./simv: undefined symbol: vhdi_dt_get_key')
-ANF: vhdi_dt_get_vhdl_enum_info('./simv: undefined symbol: vhdi_dt_get_vhdl_enum_info')
-ANF: vhdi_dt_get_vhdl_physical_info('./simv: undefined symbol: vhdi_dt_get_vhdl_physical_info')
-ANF: vhdi_dt_get_vhdl_array_info('./simv: undefined symbol: vhdi_dt_get_vhdl_array_info')
-ANF: vhdi_dt_get_vhdl_record_info('./simv: undefined symbol: vhdi_dt_get_vhdl_record_info')
-ANF: vhdi_def_traverse_module('./simv: undefined symbol: vhdi_def_traverse_module')
-ANF: vhdi_def_traverse_scope('./simv: undefined symbol: vhdi_def_traverse_scope')
-ANF: vhdi_def_traverse_variable('./simv: undefined symbol: vhdi_def_traverse_variable')
-ANF: vhdi_def_get_module_id_by_vhpi('./simv: undefined symbol: vhdi_def_get_module_id_by_vhpi')
-ANF: vhdi_def_get_handle_by_module_id('./simv: undefined symbol: vhdi_def_get_handle_by_module_id')
-ANF: vhdi_def_get_variable_info_by_vhpi('./simv: undefined symbol: vhdi_def_get_variable_info_by_vhpi')
-ANF: vhdi_def_free('./simv: undefined symbol: vhdi_def_free')
-ANF: vhdi_ist_traverse_scope('./simv: undefined symbol: vhdi_ist_traverse_scope')
-ANF: vhdi_ist_traverse_variable('./simv: undefined symbol: vhdi_ist_traverse_variable')
-ANF: vhdi_ist_convert_by_vhpi('./simv: undefined symbol: vhdi_ist_convert_by_vhpi')
-ANF: vhdi_ist_clone('./simv: undefined symbol: vhdi_ist_clone')
-ANF: vhdi_ist_free('./simv: undefined symbol: vhdi_ist_free')
-ANF: vhdi_ist_hash_key('./simv: undefined symbol: vhdi_ist_hash_key')
-ANF: vhdi_ist_compare('./simv: undefined symbol: vhdi_ist_compare')
-ANF: vhdi_ist_get_value_addr('./simv: undefined symbol: vhdi_ist_get_value_addr')
-ANF: vhdi_set_scsd_callback('./simv: undefined symbol: vhdi_set_scsd_callback')
-ANF: vhdi_cbk_set_force_callback('./simv: undefined symbol: vhdi_cbk_set_force_callback')
-ANF: vhdi_trigger_init_force('./simv: undefined symbol: vhdi_trigger_init_force')
-ANF: vhdi_ist_check_scsd_callback('./simv: undefined symbol: vhdi_ist_check_scsd_callback')
-ANF: vhdi_ist_add_scsd_callback('./simv: undefined symbol: vhdi_ist_add_scsd_callback')
-ANF: vhdi_ist_remove_scsd_callback('./simv: undefined symbol: vhdi_ist_remove_scsd_callback')
-ANF: vhdi_ist_get_scsd_user_data('./simv: undefined symbol: vhdi_ist_get_scsd_user_data')
-ANF: vhdi_add_time_change_callback('./simv: undefined symbol: vhdi_add_time_change_callback')
-ANF: vhdi_get_real_value_by_value_addr('./simv: undefined symbol: vhdi_get_real_value_by_value_addr')
-ANF: vhdi_get_64_value_by_value_addr('./simv: undefined symbol: vhdi_get_64_value_by_value_addr')
-ANF: vhdi_xprop_inst_is_promoted('./simv: undefined symbol: vhdi_xprop_inst_is_promoted')
-ANF: vdi_ist_convert_by_vhdi('./simv: undefined symbol: vdi_ist_convert_by_vhdi')
-ANF: vhdi_ist_get_module_id('./simv: undefined symbol: vhdi_ist_get_module_id')
-ANF: vhdi_refine_foreign_scope_type('./simv: undefined symbol: vhdi_refine_foreign_scope_type')
-ANF: vhdi_flush_callback('./simv: undefined symbol: vhdi_flush_callback')
-ANF: vhdi_set_orig_name('./simv: undefined symbol: vhdi_set_orig_name')
-ANF: vhdi_set_dump_pt('./simv: undefined symbol: vhdi_set_dump_pt')
-ANF: vhdi_get_fsdb_option('./simv: undefined symbol: vhdi_get_fsdb_option')
-ANF: vhdi_fgp_get_mode('./simv: undefined symbol: vhdi_fgp_get_mode')
-ANF: vhdi_node_register_composite_var('./simv: undefined symbol: vhdi_node_register_composite_var')
-ANF: vhdi_node_analysis('./simv: undefined symbol: vhdi_node_analysis')
-ANF: vhdi_node_id('./simv: undefined symbol: vhdi_node_id')
-ANF: vhdi_node_ist_check_scsd_callback('./simv: undefined symbol: vhdi_node_ist_check_scsd_callback')
-ANF: vhdi_node_ist_add_scsd_callback('./simv: undefined symbol: vhdi_node_ist_add_scsd_callback')
-ANF: vhdi_node_ist_get_value_addr('./simv: undefined symbol: vhdi_node_ist_get_value_addr')
-VCS compile option:
- option[0]: ./simv
- option[1]: -l
- option[2]: sim.log
- option[3]: -cm
- option[4]: line+cond+fsm+tgl+branch
- option[5]: -cm_dir
- option[6]: ../../coverage/try/
- option[7]: -cm_name
- option[8]: flattop
- option[9]: +ENABLE_FSDB=1
- option[10]: /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
- option[11]: -Mcc=gcc
- option[12]: -Mcplusplus=g++
- option[13]: -Masflags=
- option[14]: -Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[15]: -Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[16]: -Mldflags= -rdynamic
- option[17]: -Mout=simv
- option[18]: -Mamsrun=
- option[19]: -Mvcsaceobjs=
- option[20]: -Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
- option[21]: -Mexternalobj=
- option[22]: -Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
- option[23]: -Mcrt0=
- option[24]: -Mcrtn=
- option[25]: -Mcsrc=
- option[26]: -Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm
- option[27]: -l
- option[28]: compile.log
- option[29]: -full64
- option[30]: -j8
- option[31]: +lint=TFIPC-L
- option[32]: +v2k
- option[33]: -debug_access+all
- option[34]: +vpi
- option[35]: +vcsd1
- option[36]: +itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
- option[37]: -debug_region+cell+encrypt
- option[38]: -P
- option[39]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
- option[40]: +define+DUMP_FSDB
- option[41]: -lca
- option[42]: -q
- option[43]: -timescale=1ns/1ps
- option[44]: +nospecify
- option[45]: -cm
- option[46]: line+cond+fsm+tgl+branch
- option[47]: -cm_dir
- option[48]: ./coverage/simv.vdb
- option[49]: -picarchive
- option[50]: -P
- option[51]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
- option[52]: -fsdb
- option[53]: -sverilog
- option[54]: -gen_obj
- option[55]: -f
- option[56]: filelist_vlg.f
- option[57]: +incdir+./../../rtl/define
- option[58]: +incdir+./../../rtl/qubitmcu
- option[59]: +incdir+./../../model
- option[60]: -load
- option[61]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/libnovas.so:FSDBDumpCmd
- option[62]: timescale=1ns/1ps
-Chronologic Simulation VCS Release O-2018.09-SP2_Full64
-Linux 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
-CPU cores: 96
-Limit information:
-======================================
-cputime unlimited
-filesize unlimited
-datasize unlimited
-stacksize 8194 kbytes
-coredumpsize 0 kbytes
-memoryuse unlimited
-vmemoryuse unlimited
-descriptors 4096
-memorylocked 64 kbytes
-maxproc 4096
-======================================
-(Special)Runtime environment variables:
-
-Runtime environment variables:
-XMODIFIERS=@im=ibus
-SPECTRE_DEFAULTS=-E
-SHELL=/bin/bash
-VTE_VERSION=5204
-AMS_ENABLE_NOISE=YES
-_=/bin/csh
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-HISTCONTROL=ignoredups
-SNPSLMD_LICENSE_FILE=27050@cryo1
-MENTOR_HOME=/opt/mentor
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-MACHTYPE=x86_64
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-CDSROOT=/opt/cadence/IC618
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-CDS_LIC_ONLY=1
-CDSDIR=/opt/cadence/IC618
-PATH=/opt/compiler/V0P100:/opt/synopsys/fpga/K-2015.09/bin:/opt/synopsys/vc_stat/vc_static/V-2023.12/bin:/opt/synopsys/wv/N-2017.12-SP2/bin:/opt/synopsys/hspice/N-2017.12-SP2/hspice/bin:/opt/synopsys/idq/O-2018.06-SP1/linux64/iddq/bin:/opt/synopsys/txs/O-2018.06-SP1/bin:/opt/synopsys/lc/O-2018.06-SP1/bin:/opt/synopsys/starrc/O-2018.06-SP1/bin:/opt/synopsys/fm/L-2016.03-SP1/bin:/opt/synopsys/pwr/O-2018.06-SP3/bin:/opt/synopsys/pts/O-2018.06-SP1/bin:/opt/synopsys/syn/O-2018.06-SP1/bin:/opt/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/bin:/opt/synopsys/scl/2018.06/linux64/bin:/opt/compiler/V0P100:/opt/synopsys/fpga/K-2015.09/bin:/opt/synopsys/vc_stat/vc_static/V-2023.12/bin:/opt/synopsys/wv/N-2017.12-SP2/bin:/opt/synopsys/hspice/N-2017.12-SP2/hspice/bin:/opt/synopsys/idq/O-2018.06-SP1/linux64/iddq/bin:/opt/synopsys/txs/O-2018.06-SP1/bin:/opt/synopsys/lc/O-2018.06-SP1/bin:/opt/synopsys/starrc/O-2018.06-SP1/bin:/opt/synopsys/fm/L-2016.03-SP1/bin:/opt/synopsys/pwr/O-2018.06-SP3/bin:/opt/synopsys/pts/O-2018.06-SP1/bin:/opt/synopsys/syn/O-2018.06-SP1/bin:/opt/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/bin:/opt/synopsys/scl/2018.06/linux64/bin:/opt/xilinx/Vivado/2019.2/bin:/opt/xilinx/DocNav:/usr/local/git/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/shbyang/.local/bin:/home/shbyang/bin:/opt/cadence/IC618/tools/bin:/opt/cadence/IC618/tools/dfII/bin:/opt/cadence/IC618/tools/plot/bin:/opt/cadence/SPECTRE181/bin:/opt/cadence/SPECTRE181/tools/bin:/opt/cadence/INNOVUS181/bin:/opt/cadence/INNOVUS181/tools/bin:/opt/cadence/GENUS152/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/INCISIVE152/bin:/opt/cadence/INCISIVE152/tools/bin:/opt/cadence/INCISIVE152/tools.lnx86/bin:/opt/cadence/INCISIVE152/tools/dfII/bin:/opt/cadence/INCISIVE152/tools.lnx86/dfII/bin:/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/bin:/opt/xilinx/Vivado/2019.2//bin:/opt/xilinx/Vivado/2019.2//bin/unwrapped/lnx64.o/:/opt/cadence/IC618/tools/bin:/opt/cadence/IC618/tools/dfII/bin:/opt/cadence/IC618/tools/plot/bin:/opt/cadence/SPECTRE181/bin:/opt/cadence/SPECTRE181/tools/bin:/opt/cadence/INNOVUS181/bin:/opt/cadence/INNOVUS181/tools/bin:/opt/cadence/GENUS152/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/INCISIVE152/bin:/opt/cadence/INCISIVE152/tools/bin:/opt/cadence/INCISIVE152/tools.lnx86/bin:/opt/cadence/INCISIVE152/tools/dfII/bin:/opt/cadence/INCISIVE152/tools.lnx86/dfII/bin:/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/bin:/opt/xilinx/Vivado/2019.2//bin:/opt/xilinx/Vivado/2019.2//bin/unwrapped/lnx64.o/
-MGC_PDF_REDER=evince
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-CDS_ROOT=/opt/cadence/IC618
-QT_GRAPHICSSYSTEM_CHECKED=1
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-XDG_RUNTIME_DIR=/run/user/1019
-VENDOR=unknown
-CDS_AUTO_64BIT=ALL
-XDG_MENU_PREFIX=gnome-
-LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
-MOZILLA_HOME=/usr/bin/firefox
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-DISPLAY=unix:17
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-HOME=/home/shbyang
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-PWD=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-SSH_AGENT_PID=24257
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-LD_LIBRARY_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/shared/pkgs/icv/tools/calibre_client/lib/64
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-VRST_HOME=/opt/cadence/INCISIVE152
-CDS_SPECTRE_FBENABLE=1
-LOGNAME=shbyang
-TERM=xterm-256color
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-HOSTNAME=cryo1
-GENUS_HOME=/opt/cadence/GENUS152
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-COLORTERM=truecolor
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-QT_IM_MODULE=ibus
-OSTYPE=linux
-SHLVL=6
-GNOME_SHELL_SESSION_MODE=classic
-XDG_SESSION_ID=c34
-USER=shbyang
-QTLIB=/usr/lib64/qt-3.3/lib
-XDG_CURRENT_DESKTOP=GNOME
-VNCDESKTOP=cryo1:17 (shbyang)
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-CDS=/opt/cadence/IC618
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-CDS_LOAD_ENV=CWD
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-IMSETTINGS_MODULE=none
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-MAKEFLAGS=
-MFLAGS=
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-MAIL=/var/spool/mail/shbyang
-CADHOME=/opt/cadence
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-CDSHOME=/opt/cadence/IC618
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-CADENCE_DIR=/opt/cadence/IC618
-CDS_INST_DIR=/opt/cadence/IC618
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-XILINX_HOME=/opt/xilinx
-DBUS_STARTER_BUS_TYPE=session
-W3264_NO_HOST_CHECK=1
-SCL_HOME=/opt/synopsys/scl/2018.06
-HOSTTYPE=x86_64-linux
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/461a392b_7deb_466e_bdba_86422bb75acb
-CDS_SPECTRERF_FBENABLE=1
-GNOME_TERMINAL_SERVICE=:1.1513
-HISTSIZE=1000
-GROUP=cryo
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-CDS_Netlisting_Mode=Analog
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-CDS_ENABLE_VMS=1
-LANG=C
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-HOST=cryo1
-MAKELEVEL=1
-VCS_HEAP_EXEC=true
-VCS_PATHMAP_PRELOAD_DONE=1
-VCS_STACK_EXEC=true
-VCS_EXEC_DONE=1
-LC_ALL=C
-DVE=/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve
-SPECMAN_OUTPUT_TO_TTY=1
-Runtime command line arguments:
-argv[0]=./simv
-argv[1]=-l
-argv[2]=sim.log
-argv[3]=-cm
-argv[4]=line+cond+fsm+tgl+branch
-argv[5]=-cm_dir
-argv[6]=../../coverage/try/
-argv[7]=-cm_name
-argv[8]=flattop
-argv[9]=+ENABLE_FSDB=1
-316 profile - 100
- CPU/Mem usage: 0.070 sys, 0.340 user, 308.33M mem
-317 Sat Mar 14 17:19:29 2026
-318 pliAppInit
-319 FSDB_GATE is set.
-320 FSDB_RTL is set.
-321 Enable Parallel Dumping.
-322 pliAppMiscSet: New Sim Round
-323 pliEntryInit
-324 LIBSSCORE=found /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUXAMD64/libsscore_vcs201809.so through $NOVAS_HOME setting.
-325 FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-326 (C) 1996 - 2019 by Synopsys, Inc.
-327 FSDB_VCS_ENABLE_FAST_VC is enable
-328 sps_call_fsdbAutoSwitchDumpfile_main_vd at 0 : ../../sim/chip_top/TB.sv(57)
-329 sps_call_fsdbAutoSwitchDumpfile at 0 : ../../sim/chip_top/TB.sv(57)
-330 argv[0]: (500)
-331 argv[1]: (./verdplus.fsdb)
-332 argv[2]: (1000000)
-333 *Verdi* FSDB WARNING: The FSDB file already exists. Overwriting the FSDB file may crash the programs that are using this file.
-334 *Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-335 *Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-336 *Verdi* : Enable automatic switching of the FSDB file.
-337 *Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-338 *Verdi* : Create FSDB file './verdplus_000.fsdb'
-339 compile option from '/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcs_rebuild'.
-340 "vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1"
-341 *Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-342 *Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-343 sps_call_fsdbDumpvars_vd_main at 0 : ../../sim/chip_top/TB.sv(58)
-344 [spi_vcs_vd_ppi_create_root]: no upf option
-345 FSDB dumper cannot dump UPF related power signal ($power_tree): no ppiPowerNetwork.
-346 *Verdi* : Begin traversing the scopes, layer (0).
-347 *Verdi* : End of traversing.
-348 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.090 sys, 0.410 user, 405.39M mem
- incr: 0.010 sys, 0.070 user, 9.52M mem
- accu: 0.010 sys, 0.070 user, 9.52M mem
- accu incr: 0.010 sys, 0.070 user, 9.52M mem
-
- Count usage: 12707 var, 14739 idcode, 7320 callback
- incr: 12707 var, 14739 idcode, 7320 callback
- accu: 12707 var, 14739 idcode, 7320 callback
- accu incr: 12707 var, 14739 idcode, 7320 callback
-349 Sat Mar 14 17:19:29 2026
-350 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.090 sys, 0.410 user, 406.58M mem
- incr: 0.000 sys, 0.000 user, 1.19M mem
- accu: 0.010 sys, 0.070 user, 10.72M mem
- accu incr: 0.000 sys, 0.000 user, 1.19M mem
-
- Count usage: 12707 var, 14739 idcode, 7320 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 12707 var, 14739 idcode, 7320 callback
- accu incr: 0 var, 0 idcode, 0 callback
-351 Sat Mar 14 17:19:29 2026
-352 sps_call_fsdbDumpMDA_vd_main at 0 : ../../sim/chip_top/TB.sv(59)
-353 *Verdi* : Begin traversing the MDAs, layer (0).
-354 *Verdi* : Enable +mda and +packedmda dumping.
-355 *Verdi* : End of traversing the MDAs.
-356 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.090 sys, 0.430 user, 410.39M mem
- incr: 0.000 sys, 0.020 user, 3.82M mem
- accu: 0.000 sys, 0.020 user, 3.82M mem
- accu incr: 0.000 sys, 0.020 user, 3.82M mem
-
- Count usage: 80429 var, 81757 idcode, 7372 callback
- incr: 67722 var, 67018 idcode, 52 callback
- accu: 67722 var, 67018 idcode, 52 callback
- accu incr: 67722 var, 67018 idcode, 52 callback
-357 Sat Mar 14 17:19:30 2026
-358 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.100 sys, 0.440 user, 417.86M mem
- incr: 0.010 sys, 0.010 user, 7.46M mem
- accu: 0.010 sys, 0.030 user, 11.28M mem
- accu incr: 0.010 sys, 0.010 user, 7.46M mem
-
- Count usage: 80429 var, 81757 idcode, 7372 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 67722 var, 67018 idcode, 52 callback
- accu incr: 0 var, 0 idcode, 0 callback
-359 Sat Mar 14 17:19:30 2026
-360 End of simulation at 228913152
-361 Sat Mar 14 17:19:34 2026
-362 Begin FSDB profile info:
-363 FSDB Writer : bc1(22146360) bcn(2141522) mtf/stf(0/0)
-FSDB Writer elapsed time : flush(1.702198) io wait(0.000000) theadpool wait(0.000000) target functin(0.000000)
-FSDB Writer cpu time : MT Compression : 0
-364 End FSDB profile info
-365 Parallel profile - Flush:4 Expand:0 ProduceWait:0 ConsumerWait:280 BlockUsed:280
-366 ProduceTime:6.019864105 ConsumerTime:2.235539948 Buffer:64MB
-367 SimExit
-368 Sim process exit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/sim.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/sim.log
deleted file mode 100644
index 39d80f1..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/sim.log
+++ /dev/null
@@ -1,261 +0,0 @@
-Command: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/./simv -l sim.log -cm line+cond+fsm+tgl+branch -cm_dir ../../coverage/try/ -cm_name flattop +ENABLE_FSDB=1
-Chronologic VCS simulator copyright 1991-2018
-Contains Synopsys proprietary information.
-Compiler version O-2018.09-SP2_Full64; Runtime version O-2018.09-SP2_Full64; Mar 14 17:19 2026
-Information: *** Instance TB.U_da4008_chip_top.digital_top.u_dw_stream_sync is the DW_stream_sync Clock Domain Crossing Module ***
-../../../../case/config/try//flattop.txt
-../../data_RTL/try/flattop.txt
-*Verdi* Loading libsscore_vcs201809.so
-FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-(C) 1996 - 2019 by Synopsys, Inc.
-*Verdi* FSDB WARNING: The FSDB file already exists. Overwriting the FSDB file may crash the programs that are using this file.
-*Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-*Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-*Verdi* : Enable automatic switching of the FSDB file.
-*Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-*Verdi* : Create FSDB file './verdplus_000.fsdb'
-*Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-*Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-*Verdi* : Begin traversing the scopes, layer (0).
-*Verdi* : End of traversing.
-*Verdi* : Begin traversing the MDAs, layer (0).
-*Verdi* : Enable +mda and +packedmda dumping.
-*Verdi* : End of traversing the MDAs.
-Frame check passed: Frame check passed
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h04000002
-data[ 1]='h800003e8
-data[ 2]='h04004002
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='h04030100
-data[ 1]='h0b090706
-data[ 2]='h110f0e0c
-data[ 3]='h17161412
-data[ 4]='h1d1c1a19
-data[ 5]='h2422211f
-data[ 6]='h2a282725
-data[ 7]='h302f2d2c
-data[ 8]='h37353332
-data[ 9]='h3d3b3a38
-data[10]='h4342403e
-data[11]='h4a484645
-data[12]='h504e4d4b
-data[13]='h56555351
-data[14]='h5c5b5958
-data[15]='h6361605e
-data[16]='h69676664
-data[17]='h6f6e6c6b
-data[18]='h76747271
-data[19]='h7c7a7977
-data[20]='h82817f7d
-data[21]='h89878584
-data[22]='h8f8d8c8a
-data[23]='h95949290
-data[24]='h9b9a9897
-data[25]='ha2a09f9d
-data[26]='ha8a6a5a3
-data[27]='haeadabaa
-data[28]='hb5b3b1b0
-data[29]='hbbb9b8b6
-data[30]='hc1c0bebc
-data[31]='hc8c6c4c3
-data[32]='hc3c4c6c8
-data[33]='hbcbec0c1
-data[34]='hb6b8b9bb
-data[35]='hb0b1b3b5
-data[36]='haaabadae
-data[37]='ha3a5a6a8
-data[38]='h9d9fa0a2
-data[39]='h97989a9b
-data[40]='h90929495
-data[41]='h8a8c8d8f
-data[42]='h84858789
-data[43]='h7d7f8182
-data[44]='h77797a7c
-data[45]='h71727476
-data[46]='h6b6c6e6f
-data[47]='h64666769
-data[48]='h5e606163
-data[49]='h58595b5c
-data[50]='h51535556
-data[51]='h4b4d4e50
-data[52]='h4546484a
-data[53]='h3e404243
-data[54]='h383a3b3d
-data[55]='h32333537
-data[56]='h2c2d2f30
-data[57]='h2527282a
-data[58]='h1f212224
-data[59]='h191a1c1d
-data[60]='h12141617
-data[61]='h0c0e0f11
-data[62]='h0607090b
-data[63]='h00010304
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h04000002
-data[ 1]='h800003e8
-data[ 2]='h04004002
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='h04030100
-data[ 1]='h0b090706
-data[ 2]='h110f0e0c
-data[ 3]='h17161412
-data[ 4]='h1d1c1a19
-data[ 5]='h2422211f
-data[ 6]='h2a282725
-data[ 7]='h302f2d2c
-data[ 8]='h37353332
-data[ 9]='h3d3b3a38
-data[10]='h4342403e
-data[11]='h4a484645
-data[12]='h504e4d4b
-data[13]='h56555351
-data[14]='h5c5b5958
-data[15]='h6361605e
-data[16]='h69676664
-data[17]='h6f6e6c6b
-data[18]='h76747271
-data[19]='h7c7a7977
-data[20]='h82817f7d
-data[21]='h89878584
-data[22]='h8f8d8c8a
-data[23]='h95949290
-data[24]='h9b9a9897
-data[25]='ha2a09f9d
-data[26]='ha8a6a5a3
-data[27]='haeadabaa
-data[28]='hb5b3b1b0
-data[29]='hbbb9b8b6
-data[30]='hc1c0bebc
-data[31]='hc8c6c4c3
-data[32]='hc3c4c6c8
-data[33]='hbcbec0c1
-data[34]='hb6b8b9bb
-data[35]='hb0b1b3b5
-data[36]='haaabadae
-data[37]='ha3a5a6a8
-data[38]='h9d9fa0a2
-data[39]='h97989a9b
-data[40]='h90929495
-data[41]='h8a8c8d8f
-data[42]='h84858789
-data[43]='h7d7f8182
-data[44]='h77797a7c
-data[45]='h71727476
-data[46]='h6b6c6e6f
-data[47]='h64666769
-data[48]='h5e606163
-data[49]='h58595b5c
-data[50]='h51535556
-data[51]='h4b4d4e50
-data[52]='h4546484a
-data[53]='h3e404243
-data[54]='h383a3b3d
-data[55]='h32333537
-data[56]='h2c2d2f30
-data[57]='h2527282a
-data[58]='h1f212224
-data[59]='h191a1c1d
-data[60]='h12141617
-data[61]='h0c0e0f11
-data[62]='h0607090b
-data[63]='h00010304
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h04000002
-data[ 1]='h800003e8
-data[ 2]='h04004002
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='h04030100
-data[ 1]='h0b090706
-data[ 2]='h110f0e0c
-data[ 3]='h17161412
-data[ 4]='h1d1c1a19
-data[ 5]='h2422211f
-data[ 6]='h2a282725
-data[ 7]='h302f2d2c
-data[ 8]='h37353332
-data[ 9]='h3d3b3a38
-data[10]='h4342403e
-data[11]='h4a484645
-data[12]='h504e4d4b
-data[13]='h56555351
-data[14]='h5c5b5958
-data[15]='h6361605e
-data[16]='h69676664
-data[17]='h6f6e6c6b
-data[18]='h76747271
-data[19]='h7c7a7977
-data[20]='h82817f7d
-data[21]='h89878584
-data[22]='h8f8d8c8a
-data[23]='h95949290
-data[24]='h9b9a9897
-data[25]='ha2a09f9d
-data[26]='ha8a6a5a3
-data[27]='haeadabaa
-data[28]='hb5b3b1b0
-data[29]='hbbb9b8b6
-data[30]='hc1c0bebc
-data[31]='hc8c6c4c3
-data[32]='hc3c4c6c8
-data[33]='hbcbec0c1
-data[34]='hb6b8b9bb
-data[35]='hb0b1b3b5
-data[36]='haaabadae
-data[37]='ha3a5a6a8
-data[38]='h9d9fa0a2
-data[39]='h97989a9b
-data[40]='h90929495
-data[41]='h8a8c8d8f
-data[42]='h84858789
-data[43]='h7d7f8182
-data[44]='h77797a7c
-data[45]='h71727476
-data[46]='h6b6c6e6f
-data[47]='h64666769
-data[48]='h5e606163
-data[49]='h58595b5c
-data[50]='h51535556
-data[51]='h4b4d4e50
-data[52]='h4546484a
-data[53]='h3e404243
-data[54]='h383a3b3d
-data[55]='h32333537
-data[56]='h2c2d2f30
-data[57]='h2527282a
-data[58]='h1f212224
-data[59]='h191a1c1d
-data[60]='h12141617
-data[61]='h0c0e0f11
-data[62]='h0607090b
-data[63]='h00010304
------------------------------------
-
----------------------------------------------------------------------------
-VCS Coverage Metrics: during simulation line, cond, FSM, branch, tgl was monitored
----------------------------------------------------------------------------
- V C S S i m u l a t i o n R e p o r t
-Time: 228913152 ps
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv
deleted file mode 100755
index f87b060..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.daidir_complete b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.daidir_complete
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.normal_done b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.normal_done
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.vcs.timestamp b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.vcs.timestamp
deleted file mode 100644
index 3d08c7c..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/.vcs.timestamp
+++ /dev/null
@@ -1,230 +0,0 @@
-4
-0 ../define/chip_define.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_define.v
-0 ../define/chip_undefine.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_undefine.v
-48
-+define+DUMP_FSDB
-+incdir+./../../model
-+incdir+./../../rtl/define
-+incdir+./../../rtl/qubitmcu
-+itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-+lint=TFIPC-L
-+nospecify
-+v2k
-+vcsd1
-+vpi
--Mamsrun=
--Masflags=
--Mcc=gcc
--Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--Mcplusplus=g++
--Mcrt0=
--Mcrtn=
--Mcsrc=
--Mexternalobj=
--Mldflags= -rdynamic
--Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
--Mout=simv
--Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
--Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm
--Mvcsaceobjs=
--Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--P
--P
--cm
--cm_dir
--debug_access+all
--debug_region+cell+encrypt
--f filelist_vlg.f
--fsdb
--full64
--gen_obj
--l
--lca
--picarchive
--q
--sverilog
--timescale=1ns/1ps
-./coverage/simv.vdb
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-compile.log
-line+cond+fsm+tgl+branch
-110
-sysc_uni_pwd=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-XMODIFIERS=@im=ibus
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-XILINX_HOME=/opt/xilinx
-XDG_SESSION_ID=c34
-XDG_RUNTIME_DIR=/run/user/1019
-XDG_MENU_PREFIX=gnome-
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-XDG_CURRENT_DESKTOP=GNOME
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-WAVE=1
-W3264_NO_HOST_CHECK=1
-VTE_VERSION=5204
-VRST_HOME=/opt/cadence/INCISIVE152
-VNCDESKTOP=cryo1:17 (shbyang)
-VMR_MODE_FLAG=64
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-VENDOR=unknown
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-VCS_MX_HOME_INTERNAL=1
-VCS_MODE_FLAG=64
-VCS_LOG_FILE=compile.log
-VCS_LCAMSG_PRINT_OFF=1
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-VCS_DEPTH=0
-VCS_ARG_ADDED_FOR_TMP=1
-VCS_ARCH=linux64
-UNAME=/bin/uname
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-TOOL_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-SSH_AGENT_PID=24257
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-SPECTRE_DEFAULTS=-E
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SCRNAME=vcs
-SCRIPT_NAME=vcs
-SCL_HOME=/opt/synopsys/scl/2018.06
-QT_IM_MODULE=ibus
-QT_GRAPHICSSYSTEM_CHECKED=1
-QTLIB=/usr/lib64/qt-3.3/lib
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-OVA_UUM=0
-OSTYPE=linux
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MOZILLA_HOME=/usr/bin/firefox
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-MGC_PDF_REDER=evince
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-MFLAGS=-s
-MENTOR_HOME=/opt/mentor
-MAKEOVERRIDES=${-*-command-variables-*-}
-MAKELEVEL=2
-MAKEFLAGS=s -- WAVE=1
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-LC_ALL=C
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-IMSETTINGS_MODULE=none
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-HOSTTYPE=x86_64-linux
-HISTCONTROL=ignoredups
-GROUP=cryo
-GNOME_TERMINAL_SERVICE=:1.1513
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/461a392b_7deb_466e_bdba_86422bb75acb
-GNOME_SHELL_SESSION_MODE=classic
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GENUS_HOME=/opt/cadence/GENUS152
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-DBUS_STARTER_BUS_TYPE=session
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-COLORTERM=truecolor
-CDS_SPECTRE_FBENABLE=1
-CDS_SPECTRERF_FBENABLE=1
-CDS_ROOT=/opt/cadence/IC618
-CDS_Netlisting_Mode=Analog
-CDS_LOAD_ENV=CWD
-CDS_LIC_ONLY=1
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-CDS_INST_DIR=/opt/cadence/IC618
-CDS_ENABLE_VMS=1
-CDS_AUTO_64BIT=ALL
-CDSROOT=/opt/cadence/IC618
-CDSHOME=/opt/cadence/IC618
-CDSDIR=/opt/cadence/IC618
-CDS=/opt/cadence/IC618
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-CADHOME=/opt/cadence
-CADENCE_DIR=/opt/cadence/IC618
-AMS_ENABLE_NOISE=YES
-0
-55
-1773384753 ../../model/LVDS_DRIVER.sv
-1773384753 ../../model/SPI_DRIVER.sv
-1773384753 ./../../rtl/define/../define/chip_undefine.v
-1773384753 ./../../rtl/define/../define/chip_define.v
-1773384753 ../../rtl/define/chip_undefine.v
-1773479827 ../../sim/chip_top/TB.sv
-1773384753 ../../model/DW_pulse_sync.v
-1773384753 ../../model/DW_sync.v
-1773384753 ../../model/DW_reset_sync.v
-1773384753 ../../model/DW_stream_sync.v
-1773384753 ../../model/reset_tb.v
-1773384753 ../../model/DEM_Reverse.v
-1773384753 ../../model/DEM_Reverse_64CH.v
-1773384753 ../../model/clk_gen.v
-1773384753 ../../model/spi_if.sv
-1773384753 ../../model/clock_tb.v
-1773384753 ../../rtl/spi/spi_sys.v
-1773384753 ../../rtl/spi/spi_pll.v
-1773384753 ../../rtl/spi/spi_slave.v
-1773384753 ../../rtl/spi/spi_bus_decoder.sv
-1773384753 ../../rtl/top/digital_top.sv
-1773384753 ../../rtl/top/da4008_chip_top.sv
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-1773384753 ../../rtl/dem/DEM_PhaseSync_4008.sv
-1773384753 ../../rtl/awg/awg_ctrl.v
-1773384753 ../../rtl/awg/awg_top.sv
-1773384753 ../../rtl/clk/clk_regfile.v
-1773384753 ../../rtl/memory/spram.v
-1773384753 ../../rtl/memory/bhv_spram.v
-1773384753 ../../rtl/memory/dpram.v
-1773384753 ../../rtl/memory/sram_dmux.sv
-1773384753 ../../rtl/memory/sram_if.sv
-1773384753 ../../rtl/memory/tsmc_dpram.v
-1773384753 ../../rtl/comm/ramp_gen.v
-1773384753 ../../rtl/comm/syncer.v
-1773384753 ../../rtl/comm/sirv_gnrl_dffs.v
-1773384753 ../../rtl/comm/pulse_generator.sv
-1773384753 ../../rtl/comm/sirv_gnrl_xchecker.v
-1773384753 ../../rtl/rstgen/rst_sync.v
-1773384753 ../../rtl/rstgen/rst_gen_unit.v
-1773384753 ../../rtl/lvds/ulink_rx.sv
-1773384753 ../../rtl/dac_regfile/dac_regfile.v
-1773384753 ../../rtl/fifo/syn_fwft_fifo.v
-1773384753 ../../rtl/dacif/dacif.v
-1773384753 ../../rtl/systemregfile/systemregfile.v
-1773384753 ../../rtl/io/iopad.v
-1773384753 ../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-1773384753 ../../lib/tphn28hpcpgv18.v
-1773384753 ../../rtl/define/chip_define.v
-1551421444 /opt/synopsys/vcs-mx/O-2018.09-SP2/include/cm_vcsd.tab
-1773384753 filelist_vlg.f
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-1551421246 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-5
-1551422344 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so
-1551421792 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so
-1551421768 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so
-1551421789 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
-1550752033 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
-1773479969 simv.daidir
--1 partitionlib
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32553_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32553_archive_1.so
deleted file mode 100755
index fd59063..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32553_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32573_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32573_archive_1.so
deleted file mode 100755
index a1f01d7..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32573_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32574_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32574_archive_1.so
deleted file mode 100755
index c3950e9..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32574_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32575_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32575_archive_1.so
deleted file mode 100755
index aaeb9f4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32575_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32576_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32576_archive_1.so
deleted file mode 100755
index af9b2ee..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32576_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32577_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32577_archive_1.so
deleted file mode 100755
index 4ddf76b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32577_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32578_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32578_archive_1.so
deleted file mode 100755
index 5d72698..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32578_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32579_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32579_archive_1.so
deleted file mode 100755
index e0da35f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_32579_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64094_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64094_archive_1.so
deleted file mode 100755
index 81768e1..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64094_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64123_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64123_archive_1.so
deleted file mode 100755
index a048a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_64123_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_csrc0.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_csrc0.so
deleted file mode 100755
index 1a959ff..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_csrc0.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_prev_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_prev_archive_1.so
deleted file mode 100755
index f9266c0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/_prev_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/binmap.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/binmap.sdb
deleted file mode 100644
index 4d6f43f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/binmap.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/build_db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/build_db
deleted file mode 100755
index 558da36..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/build_db
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' -static_dbgen_only -daidir=$1 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_bcode.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_bcode.db
deleted file mode 100644
index 757c06d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_bcode.db
+++ /dev/null
@@ -1,561 +0,0 @@
-sid sirv_gnrl_xchecker
-bcid 0 0 WIDTH,32 CALL_ARG_VAL,2,0 WIDTH,1 XOR_REDUCE OPT_CONST_4ST,1,1 NEQU RET
-sid clk_gen
-bcid 1 0 WIDTH,4 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-sid spi_sys_0000
-bcid 2 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 3 1 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 4 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 5 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 6 4 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND RET
-bcid 7 5 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 8 6 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-bcid 9 7 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 10 8 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 11 9 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 12 10 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 13 11 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 14 12 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 15 13 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 16 14 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,2 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,2 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,2 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 17 15 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND OR CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,27 WIDTH,1 M_EQU AND AND RET
-bcid 18 16 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,25 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,25 CALL_ARG_VAL,4,0 WIDTH,1 CALL_ARG_VAL,5,0 WIDTH,25 CALL_ARG_VAL,6,0 OPT_CONST,4 ADD CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 19 17 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 20 18 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,28 WIDTH,1 M_EQU AND AND RET
-bcid 21 19 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 22 20 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 23 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 WIDTH,2 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,1 OPT_CONST,0 WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 24 22 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_NEQU RET
-sid spi_slave
-bcid 25 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 26 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 27 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 28 3 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND AND RET
-bcid 29 4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 30 5 WIDTH,5 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 NOT WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,5 SLICE,1 WIDTH,1 M_EQU AND AND RET
-bcid 31 6 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND AND RET
-bcid 32 7 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 OR CALL_ARG_VAL,5,0 WIDTH,5 CALL_ARG_VAL,6,0 OPT_CONST,29 WIDTH,1 M_EQU AND AND RET
-bcid 33 8 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,8 CALL_ARG_VAL,4,0 OPT_CONST,4 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 RET
-bcid 34 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 RET
-bcid 35 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 36 11 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 37 12 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 38 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 39 14 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 40 15 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,5 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 41 16 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,6 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 42 17 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,7 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 43 18 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,8 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 44 19 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,9 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 45 20 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 46 21 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,11 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 47 22 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,12 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 48 23 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,13 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 49 24 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,14 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 50 25 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,15 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 51 26 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,16 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 52 27 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,17 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 53 28 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,18 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 54 29 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,19 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 55 30 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,20 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 56 31 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,21 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 57 32 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,22 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 58 33 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,23 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 59 34 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,24 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 60 35 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,25 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 61 36 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 62 37 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,27 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 63 38 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,28 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 64 39 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,29 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 65 40 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-sid spi_bus_decoder_0000
-bcid 66 0 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 67 1 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 68 2 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 69 3 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 70 4 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 71 5 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 72 6 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 73 7 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 74 8 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 AND RET
-sid systemregfile
-bcid 75 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,32 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,88 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,218 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 76 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 77 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 78 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1541 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1109 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,8 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 79 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 80 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,33,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 81 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,35,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,37,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 82 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU CALL_ARG_VAL,11,0 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU CALL_ARG_VAL,13,0 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU CALL_ARG_VAL,27,0 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU CALL_ARG_VAL,29,0 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU CALL_ARG_VAL,31,0 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU OPT_CONST,1 CALL_ARG_VAL,45,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,46,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,47,0 OPT_CONST,1 EQU OPT_CONST,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 83 8 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,32 PAD RET
-bcid 84 9 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 85 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 86 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 87 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 88 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 89 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 90 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 91 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 92 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 93 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 94 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 95 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 96 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 97 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 98 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 99 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 100 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 101 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 102 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 103 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 104 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 105 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 106 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 107 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 108 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 109 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 110 35 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 111 36 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 112 37 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_NEQU RET
-sid DW_sync_0000
-bcid 113 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid DW_pulse_sync_0000
-bcid 114 0 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,1 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 NOT AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,2 WIDTH,1 EQU CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,5,0 AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,3 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 CALL_ARG_VAL,4,0 XOR XOR OPT_CONST_4ST,1,1 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 115 1 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 M_NEQU WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 XOR MITECONDNOINSTR,4 RET
-sid ulink_descrambler_32
-bcid 116 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 XOR CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid syn_fwft_fifo
-bcid 117 0 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 118 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 119 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,510 WIDTH,1 M_GT RET
-bcid 120 3 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 121 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 122 5 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 123 6 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 124 7 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 125 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,128 CONST,0,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-sid ulink_frame_receiver_0000
-bcid 126 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,16 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,16 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 127 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,4 MULTI_CONCATENATE,1,4 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 NOT OR RET
-bcid 128 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 WIDTH,1 M_NEQU AND RET
-sid ulink_rx
-bcid 129 0 WIDTH,20 CALL_ARG_VAL,2,0 OPT_CONST,10000 WIDTH,1 M_NEQU RET
-bcid 130 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 OPT_CONST,9999 WIDTH,1 M_EQU AND RET
-bcid 131 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,20 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 132 3 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 133 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 134 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 135 6 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND AND RET
-bcid 136 7 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND AND RET
-bcid 137 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,20 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,2 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 138 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,3,0 ADD MITECONDNOINSTR,4 RET
-bcid 139 10 WIDTH,128 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 SLICE,1 OPT_CONST,-1128481604 WIDTH,1 M_EQU RET
-bcid 140 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,4,0 OPT_CONST,0 CALL_ARG_VAL,5,0 OPT_CONST,0 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 141 12 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 142 13 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 MULTI_CONCATENATE,1,3 RET
-sid pulse_generator
-bcid 143 0 WIDTH,16 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-sid tsdn28hpcpuhdb4096x128m4mw_170a
-bcid 144 0 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 145 1 WIDTH,1 OPT_CONST,0 RET
-bcid 146 2 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 147 3 WIDTH,1 OPT_CONST,0 RET
-bcid 148 4 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 149 5 WIDTH,1 OPT_CONST,0 RET
-bcid 150 6 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 151 7 WIDTH,1 OPT_CONST,0 RET
-bcid 152 8 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 153 9 WIDTH,1 OPT_CONST,0 RET
-bcid 154 10 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 155 11 WIDTH,1 OPT_CONST,0 RET
-bcid 156 12 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 157 13 WIDTH,1 OPT_CONST,0 RET
-bcid 158 14 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 159 15 WIDTH,1 OPT_CONST,0 RET
-bcid 160 16 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 161 17 WIDTH,1 OPT_CONST,0 RET
-bcid 162 18 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 163 19 WIDTH,1 OPT_CONST,0 RET
-bcid 164 20 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 165 21 WIDTH,1 OPT_CONST,0 RET
-bcid 166 22 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 167 23 WIDTH,1 OPT_CONST,0 RET
-bcid 168 24 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 169 25 WIDTH,1 OPT_CONST,0 RET
-bcid 170 26 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 171 27 WIDTH,1 OPT_CONST,0 RET
-bcid 172 28 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 173 29 WIDTH,1 OPT_CONST,0 RET
-bcid 174 30 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 175 31 WIDTH,1 OPT_CONST,0 RET
-bcid 176 32 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 177 33 WIDTH,1 OPT_CONST,0 RET
-bcid 178 34 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 179 35 WIDTH,1 OPT_CONST,0 RET
-bcid 180 36 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 181 37 WIDTH,1 OPT_CONST,0 RET
-bcid 182 38 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 183 39 WIDTH,1 OPT_CONST,0 RET
-bcid 184 40 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 185 41 WIDTH,1 OPT_CONST,0 RET
-bcid 186 42 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 187 43 WIDTH,1 OPT_CONST,0 RET
-bcid 188 44 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 189 45 WIDTH,1 OPT_CONST,0 RET
-bcid 190 46 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 191 47 WIDTH,1 OPT_CONST,0 RET
-bcid 192 48 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 193 49 WIDTH,1 OPT_CONST,0 RET
-bcid 194 50 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 195 51 WIDTH,1 OPT_CONST,0 RET
-bcid 196 52 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 197 53 WIDTH,1 OPT_CONST,0 RET
-bcid 198 54 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 199 55 WIDTH,1 OPT_CONST,0 RET
-bcid 200 56 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 201 57 WIDTH,1 OPT_CONST,0 RET
-bcid 202 58 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 203 59 WIDTH,1 OPT_CONST,0 RET
-bcid 204 60 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 205 61 WIDTH,1 OPT_CONST,0 RET
-bcid 206 62 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 207 63 WIDTH,1 OPT_CONST,0 RET
-bcid 208 64 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 209 65 WIDTH,1 OPT_CONST,0 RET
-bcid 210 66 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 211 67 WIDTH,1 OPT_CONST,0 RET
-bcid 212 68 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 213 69 WIDTH,1 OPT_CONST,0 RET
-bcid 214 70 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 215 71 WIDTH,1 OPT_CONST,0 RET
-bcid 216 72 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 217 73 WIDTH,1 OPT_CONST,0 RET
-bcid 218 74 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 219 75 WIDTH,1 OPT_CONST,0 RET
-bcid 220 76 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 221 77 WIDTH,1 OPT_CONST,0 RET
-bcid 222 78 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 223 79 WIDTH,1 OPT_CONST,0 RET
-bcid 224 80 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 225 81 WIDTH,1 OPT_CONST,0 RET
-bcid 226 82 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 227 83 WIDTH,1 OPT_CONST,0 RET
-bcid 228 84 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 229 85 WIDTH,1 OPT_CONST,0 RET
-bcid 230 86 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 231 87 WIDTH,1 OPT_CONST,0 RET
-bcid 232 88 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 233 89 WIDTH,1 OPT_CONST,0 RET
-bcid 234 90 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 235 91 WIDTH,1 OPT_CONST,0 RET
-bcid 236 92 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 237 93 WIDTH,1 OPT_CONST,0 RET
-bcid 238 94 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 239 95 WIDTH,1 OPT_CONST,0 RET
-bcid 240 96 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 241 97 WIDTH,1 OPT_CONST,0 RET
-bcid 242 98 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 243 99 WIDTH,1 OPT_CONST,0 RET
-bcid 244 100 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 245 101 WIDTH,1 OPT_CONST,0 RET
-bcid 246 102 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 247 103 WIDTH,1 OPT_CONST,0 RET
-bcid 248 104 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 249 105 WIDTH,1 OPT_CONST,0 RET
-bcid 250 106 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 251 107 WIDTH,1 OPT_CONST,0 RET
-bcid 252 108 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 253 109 WIDTH,1 OPT_CONST,0 RET
-bcid 254 110 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 255 111 WIDTH,1 OPT_CONST,0 RET
-bcid 256 112 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 257 113 WIDTH,1 OPT_CONST,0 RET
-bcid 258 114 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 259 115 WIDTH,1 OPT_CONST,0 RET
-bcid 260 116 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 261 117 WIDTH,1 OPT_CONST,0 RET
-bcid 262 118 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 263 119 WIDTH,1 OPT_CONST,0 RET
-bcid 264 120 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 265 121 WIDTH,1 OPT_CONST,0 RET
-bcid 266 122 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 267 123 WIDTH,1 OPT_CONST,0 RET
-bcid 268 124 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 269 125 WIDTH,1 OPT_CONST,0 RET
-bcid 270 126 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 271 127 WIDTH,1 OPT_CONST,0 RET
-bcid 272 128 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 273 129 WIDTH,1 OPT_CONST,0 RET
-bcid 274 130 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 275 131 WIDTH,1 OPT_CONST,0 RET
-bcid 276 132 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 277 133 WIDTH,1 OPT_CONST,0 RET
-bcid 278 134 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 279 135 WIDTH,1 OPT_CONST,0 RET
-bcid 280 136 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 281 137 WIDTH,1 OPT_CONST,0 RET
-bcid 282 138 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 283 139 WIDTH,1 OPT_CONST,0 RET
-bcid 284 140 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 285 141 WIDTH,1 OPT_CONST,0 RET
-bcid 286 142 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 287 143 WIDTH,1 OPT_CONST,0 RET
-bcid 288 144 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 289 145 WIDTH,1 OPT_CONST,0 RET
-bcid 290 146 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 291 147 WIDTH,1 OPT_CONST,0 RET
-bcid 292 148 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 293 149 WIDTH,1 OPT_CONST,0 RET
-bcid 294 150 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 295 151 WIDTH,1 OPT_CONST,0 RET
-bcid 296 152 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 297 153 WIDTH,1 OPT_CONST,0 RET
-bcid 298 154 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 299 155 WIDTH,1 OPT_CONST,0 RET
-bcid 300 156 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 301 157 WIDTH,1 OPT_CONST,0 RET
-bcid 302 158 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 303 159 WIDTH,1 OPT_CONST,0 RET
-bcid 304 160 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 305 161 WIDTH,1 OPT_CONST,0 RET
-bcid 306 162 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 307 163 WIDTH,1 OPT_CONST,0 RET
-bcid 308 164 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 309 165 WIDTH,1 OPT_CONST,0 RET
-bcid 310 166 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 311 167 WIDTH,1 OPT_CONST,0 RET
-bcid 312 168 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 313 169 WIDTH,1 OPT_CONST,0 RET
-bcid 314 170 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 315 171 WIDTH,1 OPT_CONST,0 RET
-bcid 316 172 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 317 173 WIDTH,1 OPT_CONST,0 RET
-bcid 318 174 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 319 175 WIDTH,1 OPT_CONST,0 RET
-bcid 320 176 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 321 177 WIDTH,1 OPT_CONST,0 RET
-bcid 322 178 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 323 179 WIDTH,1 OPT_CONST,0 RET
-bcid 324 180 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 325 181 WIDTH,1 OPT_CONST,0 RET
-bcid 326 182 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 327 183 WIDTH,1 OPT_CONST,0 RET
-bcid 328 184 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 329 185 WIDTH,1 OPT_CONST,0 RET
-bcid 330 186 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 331 187 WIDTH,1 OPT_CONST,0 RET
-bcid 332 188 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 333 189 WIDTH,1 OPT_CONST,0 RET
-bcid 334 190 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 335 191 WIDTH,1 OPT_CONST,0 RET
-bcid 336 192 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 337 193 WIDTH,1 OPT_CONST,0 RET
-bcid 338 194 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 339 195 WIDTH,1 OPT_CONST,0 RET
-bcid 340 196 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 341 197 WIDTH,1 OPT_CONST,0 RET
-bcid 342 198 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 343 199 WIDTH,1 OPT_CONST,0 RET
-bcid 344 200 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 345 201 WIDTH,1 OPT_CONST,0 RET
-bcid 346 202 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 347 203 WIDTH,1 OPT_CONST,0 RET
-bcid 348 204 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 349 205 WIDTH,1 OPT_CONST,0 RET
-bcid 350 206 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 351 207 WIDTH,1 OPT_CONST,0 RET
-bcid 352 208 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 353 209 WIDTH,1 OPT_CONST,0 RET
-bcid 354 210 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 355 211 WIDTH,1 OPT_CONST,0 RET
-bcid 356 212 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 357 213 WIDTH,1 OPT_CONST,0 RET
-bcid 358 214 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 359 215 WIDTH,1 OPT_CONST,0 RET
-bcid 360 216 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 361 217 WIDTH,1 OPT_CONST,0 RET
-bcid 362 218 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 363 219 WIDTH,1 OPT_CONST,0 RET
-bcid 364 220 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 365 221 WIDTH,1 OPT_CONST,0 RET
-bcid 366 222 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 367 223 WIDTH,1 OPT_CONST,0 RET
-bcid 368 224 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 369 225 WIDTH,1 OPT_CONST,0 RET
-bcid 370 226 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 371 227 WIDTH,1 OPT_CONST,0 RET
-bcid 372 228 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 373 229 WIDTH,1 OPT_CONST,0 RET
-bcid 374 230 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 375 231 WIDTH,1 OPT_CONST,0 RET
-bcid 376 232 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 377 233 WIDTH,1 OPT_CONST,0 RET
-bcid 378 234 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 379 235 WIDTH,1 OPT_CONST,0 RET
-bcid 380 236 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 381 237 WIDTH,1 OPT_CONST,0 RET
-bcid 382 238 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 383 239 WIDTH,1 OPT_CONST,0 RET
-bcid 384 240 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 385 241 WIDTH,1 OPT_CONST,0 RET
-bcid 386 242 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 387 243 WIDTH,1 OPT_CONST,0 RET
-bcid 388 244 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 389 245 WIDTH,1 OPT_CONST,0 RET
-bcid 390 246 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 391 247 WIDTH,1 OPT_CONST,0 RET
-bcid 392 248 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 393 249 WIDTH,1 OPT_CONST,0 RET
-bcid 394 250 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 395 251 WIDTH,1 OPT_CONST,0 RET
-bcid 396 252 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 397 253 WIDTH,1 OPT_CONST,0 RET
-bcid 398 254 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 399 255 WIDTH,1 OPT_CONST,0 RET
-sid dpram
-bcid 400 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,3,0 AND WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,4,0 AND OR RET
-bcid 401 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 MULTI_CONCATENATE,1,8 RET
-sid awg_top
-bcid 402 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 MITECONDNOINSTR,4 RET
-bcid 403 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 404 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 405 3 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,30 WIDTH,1 M_GT RET
-bcid 406 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 407 5 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 408 6 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 409 7 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 410 8 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 411 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 412 10 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 413 11 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT AND RET
-bcid 414 12 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 AND RET
-bcid 415 13 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 NOT AND AND RET
-bcid 416 14 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 417 15 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OR NOT AND RET
-bcid 418 16 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 419 17 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,3 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,9,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 420 18 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OR OR CALL_ARG_VAL,5,0 NOT AND RET
-bcid 421 19 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 422 20 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 423 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,13 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 424 22 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 M_NEQU AND AND RET
-bcid 425 23 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 426 24 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 427 25 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,31 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 428 26 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,31 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 429 27 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,512 CALL_ARG_VAL,3,0 WIDTH,1 CALL_ARG_VAL,4,0 WIDTH,8 CALL_ARG_VAL,5,0 WIDTH,512 MULTI_CONCATENATE,1,64 CONST,0,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 430 28 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU OR RET
-bcid 431 29 WIDTH,13 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 ADD RET
-sid ramp_gen_0000
-bcid 432 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 433 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 434 2 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,8 SHIFT_L RET
-bcid 435 3 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,8 SHIFT_L RET
-bcid 436 4 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,8 SHIFT_L RET
-bcid 437 5 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,4 WIDTH,8 SHIFT_L RET
-bcid 438 6 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,5 WIDTH,8 SHIFT_L RET
-bcid 439 7 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,6 WIDTH,8 SHIFT_L RET
-sid dac_regfile
-bcid 440 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU CALL_ARG_VAL,49,0 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 441 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 442 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 443 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,10 WIDTH,22 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 444 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,4 WIDTH,6 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 445 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,8,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,10 WIDTH,22 SLICE,1 CALL_ARG_VAL,21,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 446 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,4 WIDTH,6 SLICE,1 CALL_ARG_VAL,23,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 447 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 448 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,1 WIDTH,2 SLICE,1 CALL_ARG_VAL,33,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 449 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,33,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,34,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,35,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 450 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 451 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 452 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 453 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 454 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 455 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 456 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 457 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 458 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 459 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 460 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 461 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 462 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 463 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 464 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 465 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 466 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 467 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 468 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 469 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 470 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 471 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 472 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 473 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 474 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 475 35 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 476 36 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 M_EQU RET
-bcid 477 37 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 M_EQU RET
-bcid 478 38 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 M_EQU RET
-bcid 479 39 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 M_EQU RET
-bcid 480 40 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 M_EQU RET
-bcid 481 41 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU RET
-bcid 482 42 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,32 WIDTH,1 M_EQU RET
-bcid 483 43 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,33 WIDTH,1 M_EQU RET
-bcid 484 44 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,34 WIDTH,1 M_EQU RET
-bcid 485 45 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,35 WIDTH,1 M_EQU RET
-bcid 486 46 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,36 WIDTH,1 M_EQU RET
-bcid 487 47 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,37 WIDTH,1 M_EQU RET
-bcid 488 48 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,38 WIDTH,1 M_EQU RET
-bcid 489 49 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,39 WIDTH,1 M_EQU RET
-bcid 490 50 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,40 WIDTH,1 M_EQU RET
-bcid 491 51 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,41 WIDTH,1 M_EQU RET
-sid clk_regfile
-bcid 492 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 493 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 494 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 495 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 496 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 497 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 498 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 499 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 500 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,41,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 501 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU CALL_ARG_VAL,41,0 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,43,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU CALL_ARG_VAL,45,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 502 10 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 503 11 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 504 12 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 505 13 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 506 14 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 507 15 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 508 16 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 509 17 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 510 18 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 511 19 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 512 20 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 513 21 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 514 22 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 515 23 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 516 24 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 517 25 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 518 26 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 519 27 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 520 28 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 521 29 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 522 30 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 523 31 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-sid da4008_chip_top
-bcid 524 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD MITECONDNOINSTR,4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT MITECONDNOINSTR,4 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 525 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 526 2 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 527 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD OPT_CONST,31 WIDTH,1 NEQU WIDTH,5 MULTI_CONCATENATE,1,5 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,5 SLICE,1 ADD AND CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 528 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 529 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 EQU AND CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 530 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU CALL_ARG_VAL,3,0 OPT_CONST_4ST,1,1 EQU OR OPT_CONST_4ST,1,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 OPT_CONST,16 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD WIDTH,1 M_GT AND OPT_CONST,1 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,15 WIDTH,1 M_GT OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 531 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU WIDTH,4 OPT_CONST_4ST,15,15 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG,3 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 532 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 533 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 M_EQU AND RET
-bcid 534 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 M_EQU AND RET
-bcid 535 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 CALL_ARG_VAL,3,0 OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 536 12 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,4,0 AND AND OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 537 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SM_GT RET
-bcid 538 14 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU AND AND RET
-sid TB
-bcid 539 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,6 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,6 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_dummy_file b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_dummy_file
deleted file mode 100644
index 9ec9235..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cc/cc_dummy_file
+++ /dev/null
@@ -1,2 +0,0 @@
-Dummy_file
-Missing line/file info
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cgname.json b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cgname.json
deleted file mode 100644
index eb59b57..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/cgname.json
+++ /dev/null
@@ -1,920 +0,0 @@
-{
- "PDUW16DGZ_H_G": [
- "PDUW16DGZ_H_G",
- "M7qR3",
- "module",
- 38
- ],
- "PDB3AC_V_G": [
- "PDB3AC_V_G",
- "dviib",
- "module",
- 9
- ],
- "dac_regfile": [
- "dac_regfile",
- "LR0zI",
- "module",
- 118
- ],
- "PRUW16SDGZ_V_G": [
- "PRUW16SDGZ_V_G",
- "psjSY",
- "module",
- 71
- ],
- "PDUW04SDGZ_H_G": [
- "PDUW04SDGZ_H_G",
- "wGYhm",
- "module",
- 28
- ],
- "_vcs_unit__348857874": [
- "_vcs_unit__348857874",
- "FgDcH",
- "module",
- 1
- ],
- "PVSS2A_V_G": [
- "PVSS2A_V_G",
- "fMI2k",
- "module",
- 99
- ],
- "PENDCAPA_G": [
- "PENDCAPA_G",
- "wpYca",
- "module",
- 45
- ],
- "PDDW08DGZ_V_G": [
- "PDDW08DGZ_V_G",
- "K0TuH",
- "module",
- 15
- ],
- "PDDW16SDGZ_V_G": [
- "PDDW16SDGZ_V_G",
- "ebe78",
- "module",
- 25
- ],
- "PDUW12SDGZ_V_G": [
- "PDUW12SDGZ_V_G",
- "qCQFW",
- "module",
- 37
- ],
- "PDUW12SDGZ_H_G": [
- "PDUW12SDGZ_H_G",
- "uKPxf",
- "module",
- 36
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 2
- ],
- "sram_if_0002": [
- "sram_if_0002",
- "bEAZ8",
- "module",
- 133
- ],
- "PCLAMP_G": [
- "PCLAMP_G",
- "DA1Pu",
- "module",
- 3
- ],
- "PVDD2POC_V_G": [
- "PVDD2POC_V_G",
- "urn8Q",
- "module",
- 85
- ],
- "PDUW16DGZ_V_G": [
- "PDUW16DGZ_V_G",
- "FDqaf",
- "module",
- 39
- ],
- "iopad": [
- "iopad",
- "ga3jL",
- "module",
- 114
- ],
- "PVSS1ANA_V_G": [
- "PVSS1ANA_V_G",
- "gL5Pd",
- "module",
- 95
- ],
- "PDUW08DGZ_V_G": [
- "PDUW08DGZ_V_G",
- "aEWK6",
- "module",
- 31
- ],
- "PRDW12SDGZ_V_G": [
- "PRDW12SDGZ_V_G",
- "zIUFF",
- "module",
- 55
- ],
- "PDB3A_V_G": [
- "PDB3A_V_G",
- "xqWfY",
- "module",
- 7
- ],
- "PVDD3A_V_G": [
- "PVDD3A_V_G",
- "t6fPF",
- "module",
- 87
- ],
- "PRDW16DGZ_V_G": [
- "PRDW16DGZ_V_G",
- "Jztd6",
- "module",
- 57
- ],
- "PRUW12SDGZ_V_G": [
- "PRUW12SDGZ_V_G",
- "yt645",
- "module",
- 67
- ],
- "PDXOEDG_V_G": [
- "PDXOEDG_V_G",
- "EZF3t",
- "module",
- 43
- ],
- "da4008_chip_top": [
- "da4008_chip_top",
- "ircEj",
- "module",
- 141
- ],
- "PDDW12SDGZ_H_G": [
- "PDDW12SDGZ_H_G",
- "KpuhN",
- "module",
- 20
- ],
- "PDDW04SDGZ_H_G": [
- "PDDW04SDGZ_H_G",
- "CQ4ek",
- "module",
- 12
- ],
- "PCLAMPC_H_G": [
- "PCLAMPC_H_G",
- "UyGax",
- "module",
- 4
- ],
- "PRDW16SDGZ_V_G": [
- "PRDW16SDGZ_V_G",
- "YRh5I",
- "module",
- 59
- ],
- "PVSS3DGZ_V_G": [
- "PVSS3DGZ_V_G",
- "IZu3i",
- "module",
- 111
- ],
- "PVDD3AC_H_G": [
- "PVDD3AC_H_G",
- "U0PST",
- "module",
- 88
- ],
- "PCLAMPC_V_G": [
- "PCLAMPC_V_G",
- "EyyeT",
- "module",
- 5
- ],
- "PRDW08SDGZ_V_G": [
- "PRDW08SDGZ_V_G",
- "JznNw",
- "module",
- 51
- ],
- "PDDW12DGZ_V_G": [
- "PDDW12DGZ_V_G",
- "eR5Zz",
- "module",
- 19
- ],
- "PDDW08DGZ_H_G": [
- "PDDW08DGZ_H_G",
- "C0gYT",
- "module",
- 14
- ],
- "PVSS2DGZ_V_G": [
- "PVSS2DGZ_V_G",
- "S5Dr6",
- "module",
- 105
- ],
- "PDB3A_H_G": [
- "PDB3A_H_G",
- "dfLHW",
- "module",
- 6
- ],
- "rst_gen_unit": [
- "rst_gen_unit",
- "anuMN",
- "module",
- 124
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": [
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bghMB",
- "module",
- 113
- ],
- "PDDW16SDGZ_H_G": [
- "PDDW16SDGZ_H_G",
- "HiTWu",
- "module",
- 24
- ],
- "PDUW16SDGZ_H_G": [
- "PDUW16SDGZ_H_G",
- "iWZrk",
- "module",
- 40
- ],
- "PDUW04SDGZ_V_G": [
- "PDUW04SDGZ_V_G",
- "mJZpP",
- "module",
- 29
- ],
- "PVSS3A_H_G": [
- "PVSS3A_H_G",
- "jsR1C",
- "module",
- 106
- ],
- "PDB3AC_H_G": [
- "PDB3AC_H_G",
- "LsJ1x",
- "module",
- 8
- ],
- "PDUW04DGZ_V_G": [
- "PDUW04DGZ_V_G",
- "QGhk6",
- "module",
- 27
- ],
- "PVDD3AC_V_G": [
- "PVDD3AC_V_G",
- "rZC3e",
- "module",
- 89
- ],
- "PVSS2DGZ_H_G": [
- "PVSS2DGZ_H_G",
- "ke5cH",
- "module",
- 104
- ],
- "PDDW04DGZ_V_G": [
- "PDDW04DGZ_V_G",
- "sZaSM",
- "module",
- 11
- ],
- "sram_if_0001": [
- "sram_if_0001",
- "z4wk8",
- "module",
- 132
- ],
- "PDDW04DGZ_H_G": [
- "PDDW04DGZ_H_G",
- "Z62Gy",
- "module",
- 10
- ],
- "PVDD1AC_V_G": [
- "PVDD1AC_V_G",
- "qn6Yx",
- "module",
- 75
- ],
- "PVSS2ANA_V_G": [
- "PVSS2ANA_V_G",
- "Md441",
- "module",
- 103
- ],
- "PDDW04SDGZ_V_G": [
- "PDDW04SDGZ_V_G",
- "J6fGD",
- "module",
- 13
- ],
- "PDDW16DGZ_H_G": [
- "PDDW16DGZ_H_G",
- "GzkJA",
- "module",
- 22
- ],
- "PVSS3AC_V_G": [
- "PVSS3AC_V_G",
- "i0k2A",
- "module",
- 109
- ],
- "PDDW08SDGZ_H_G": [
- "PDDW08SDGZ_H_G",
- "QjV6F",
- "module",
- 16
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 120
- ],
- "PVSS1AC_V_G": [
- "PVSS1AC_V_G",
- "I7RzE",
- "module",
- 93
- ],
- "PDDW08SDGZ_V_G": [
- "PDDW08SDGZ_V_G",
- "N1ndr",
- "module",
- 17
- ],
- "PRDW08SDGZ_H_G": [
- "PRDW08SDGZ_H_G",
- "S90qD",
- "module",
- 50
- ],
- "PDDW12DGZ_H_G": [
- "PDDW12DGZ_H_G",
- "atFKr",
- "module",
- 18
- ],
- "PDDW12SDGZ_V_G": [
- "PDDW12SDGZ_V_G",
- "Pzaun",
- "module",
- 21
- ],
- "PVDD1ANA_V_G": [
- "PVDD1ANA_V_G",
- "BL1m7",
- "module",
- 77
- ],
- "PVDD3A_H_G": [
- "PVDD3A_H_G",
- "DTJPF",
- "module",
- 86
- ],
- "PDDW16DGZ_V_G": [
- "PDDW16DGZ_V_G",
- "StNiL",
- "module",
- 23
- ],
- "PDUW04DGZ_H_G": [
- "PDUW04DGZ_H_G",
- "YTwQz",
- "module",
- 26
- ],
- "PVDD2DGZ_H_G": [
- "PVDD2DGZ_H_G",
- "nULrd",
- "module",
- 82
- ],
- "PDUW08DGZ_H_G": [
- "PDUW08DGZ_H_G",
- "KkPJH",
- "module",
- 30
- ],
- "PDUW08SDGZ_H_G": [
- "PDUW08SDGZ_H_G",
- "gxqJp",
- "module",
- 32
- ],
- "ulink_descrambler_128": [
- "ulink_descrambler_128",
- "qxEhc",
- "module",
- 121
- ],
- "sram_if": [
- "sram_if",
- "NABmh",
- "module",
- 130
- ],
- "PRCUTA_G": [
- "PRCUTA_G",
- "uuDJt",
- "module",
- 47
- ],
- "PVDD1ANA_H_G": [
- "PVDD1ANA_H_G",
- "fEWTj",
- "module",
- 76
- ],
- "PDUW08SDGZ_V_G": [
- "PDUW08SDGZ_V_G",
- "UxPrL",
- "module",
- 33
- ],
- "DA4008_DEM_Parallel_PRBS_64CH": [
- "DA4008_DEM_Parallel_PRBS_64CH",
- "q09PC",
- "module",
- 140
- ],
- "PDUW12DGZ_H_G": [
- "PDUW12DGZ_H_G",
- "HYpLe",
- "module",
- 34
- ],
- "PVSS1AC_H_G": [
- "PVSS1AC_H_G",
- "EZJLH",
- "module",
- 92
- ],
- "PDUW12DGZ_V_G": [
- "PDUW12DGZ_V_G",
- "NkwYe",
- "module",
- 35
- ],
- "PRUW16DGZ_H_G": [
- "PRUW16DGZ_H_G",
- "AVYgt",
- "module",
- 68
- ],
- "PDUW16SDGZ_V_G": [
- "PDUW16SDGZ_V_G",
- "qePm9",
- "module",
- 41
- ],
- "PDXOEDG_H_G": [
- "PDXOEDG_H_G",
- "IYQDs",
- "module",
- 42
- ],
- "PENDCAP_G": [
- "PENDCAP_G",
- "bhWYh",
- "module",
- 44
- ],
- "PRUW08DGZ_V_G": [
- "PRUW08DGZ_V_G",
- "EtT2L",
- "module",
- 61
- ],
- "PVDD2ANA_H_G": [
- "PVDD2ANA_H_G",
- "mZVHG",
- "module",
- 80
- ],
- "PRCUT_G": [
- "PRCUT_G",
- "uQmb5",
- "module",
- 46
- ],
- "DW_pulse_sync_0000": [
- "DW_pulse_sync_0000",
- "Ss3zK",
- "module",
- 150
- ],
- "PVDD1DGZ_H_G": [
- "PVDD1DGZ_H_G",
- "Eie6s",
- "module",
- 78
- ],
- "PRDW08DGZ_H_G": [
- "PRDW08DGZ_H_G",
- "swWa5",
- "module",
- 48
- ],
- "PVSS1A_H_G": [
- "PVSS1A_H_G",
- "aYKwj",
- "module",
- 90
- ],
- "PVSS1DGZ_V_G": [
- "PVSS1DGZ_V_G",
- "jHcbf",
- "module",
- 97
- ],
- "PRDW08DGZ_V_G": [
- "PRDW08DGZ_V_G",
- "ZZxj5",
- "module",
- 49
- ],
- "PRDW12DGZ_H_G": [
- "PRDW12DGZ_H_G",
- "VaZm2",
- "module",
- 52
- ],
- "PRDW12DGZ_V_G": [
- "PRDW12DGZ_V_G",
- "ZKk4u",
- "module",
- 53
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 152
- ],
- "PVDD2POC_H_G": [
- "PVDD2POC_H_G",
- "avdwk",
- "module",
- 84
- ],
- "PRDW12SDGZ_H_G": [
- "PRDW12SDGZ_H_G",
- "fTzb4",
- "module",
- 54
- ],
- "PRDW16DGZ_H_G": [
- "PRDW16DGZ_H_G",
- "EEqKt",
- "module",
- 56
- ],
- "PRDW16SDGZ_H_G": [
- "PRDW16SDGZ_H_G",
- "V63WF",
- "module",
- 58
- ],
- "PRUW12DGZ_H_G": [
- "PRUW12DGZ_H_G",
- "hpMjC",
- "module",
- 64
- ],
- "PRUW08DGZ_H_G": [
- "PRUW08DGZ_H_G",
- "fLemy",
- "module",
- 60
- ],
- "PRUW08SDGZ_H_G": [
- "PRUW08SDGZ_H_G",
- "gwpgC",
- "module",
- 62
- ],
- "dacif_0000": [
- "dacif_0000",
- "yeRHW",
- "module",
- 116
- ],
- "PRUW08SDGZ_V_G": [
- "PRUW08SDGZ_V_G",
- "VJ8Wg",
- "module",
- 63
- ],
- "PRUW12DGZ_V_G": [
- "PRUW12DGZ_V_G",
- "pucZW",
- "module",
- 65
- ],
- "PRUW12SDGZ_H_G": [
- "PRUW12SDGZ_H_G",
- "EkH6u",
- "module",
- 66
- ],
- "PRUW16DGZ_V_G": [
- "PRUW16DGZ_V_G",
- "ErxQ3",
- "module",
- 69
- ],
- "PRUW16SDGZ_H_G": [
- "PRUW16SDGZ_H_G",
- "riJVY",
- "module",
- 70
- ],
- "spi_if": [
- "spi_if",
- "IHYdB",
- "module",
- 145
- ],
- "PVDD1A_H_G": [
- "PVDD1A_H_G",
- "zNPu5",
- "module",
- 72
- ],
- "PVDD1A_V_G": [
- "PVDD1A_V_G",
- "CNBi6",
- "module",
- 73
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 122
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 128
- ],
- "PVDD1AC_H_G": [
- "PVDD1AC_H_G",
- "W9VnM",
- "module",
- 74
- ],
- "PVDD1DGZ_V_G": [
- "PVDD1DGZ_V_G",
- "sPggV",
- "module",
- 79
- ],
- "PVDD2ANA_V_G": [
- "PVDD2ANA_V_G",
- "J6VbG",
- "module",
- 81
- ],
- "PVSS3A_V_G": [
- "PVSS3A_V_G",
- "VSdee",
- "module",
- 107
- ],
- "PVDD2DGZ_V_G": [
- "PVDD2DGZ_V_G",
- "LSxxn",
- "module",
- 83
- ],
- "PVSS1A_V_G": [
- "PVSS1A_V_G",
- "ZmPik",
- "module",
- 91
- ],
- "reset_tb": [
- "reset_tb",
- "Q3Wk7",
- "module",
- 148
- ],
- "PVSS1ANA_H_G": [
- "PVSS1ANA_H_G",
- "HtwuV",
- "module",
- 94
- ],
- "PVSS1DGZ_H_G": [
- "PVSS1DGZ_H_G",
- "Zp1LH",
- "module",
- 96
- ],
- "PVSS2A_H_G": [
- "PVSS2A_H_G",
- "usz4x",
- "module",
- 98
- ],
- "PVSS2AC_H_G": [
- "PVSS2AC_H_G",
- "TqmdJ",
- "module",
- 100
- ],
- "systemregfile": [
- "systemregfile",
- "qcK8J",
- "module",
- 115
- ],
- "DW_sync_0000": [
- "DW_sync_0000",
- "zVfcK",
- "module",
- 149
- ],
- "PVSS2AC_V_G": [
- "PVSS2AC_V_G",
- "YBQ1m",
- "module",
- 101
- ],
- "PVSS2ANA_H_G": [
- "PVSS2ANA_H_G",
- "g8kcb",
- "module",
- 102
- ],
- "PVSS3AC_H_G": [
- "PVSS3AC_H_G",
- "B0f3F",
- "module",
- 108
- ],
- "PVSS3DGZ_H_G": [
- "PVSS3DGZ_H_G",
- "rq1J0",
- "module",
- 110
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 125
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a": [
- "tsdn28hpcpuhdb4096x128m4mw_170a",
- "UJ4u7",
- "module",
- 112
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 117
- ],
- "ulink_rx": [
- "ulink_rx",
- "dteMU",
- "module",
- 119
- ],
- "ulink_frame_receiver_0000": [
- "ulink_frame_receiver_0000",
- "P3BwM",
- "module",
- 123
- ],
- "pulse_generator": [
- "pulse_generator",
- "aJYLF",
- "module",
- 126
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 127
- ],
- "ramp_gen_0000": [
- "ramp_gen_0000",
- "AyqFm",
- "module",
- 129
- ],
- "sram_if_0000": [
- "sram_if_0000",
- "nJgqZ",
- "module",
- 131
- ],
- "sram_dmux_w_0000": [
- "sram_dmux_w_0000",
- "dc6nH",
- "module",
- 134
- ],
- "dpram": [
- "dpram",
- "bQxt6",
- "module",
- 135
- ],
- "clk_regfile": [
- "clk_regfile",
- "jAdLC",
- "module",
- 136
- ],
- "awg_top": [
- "awg_top",
- "J5zQK",
- "module",
- 137
- ],
- "DEM_PhaseSync_4008": [
- "DEM_PhaseSync_4008",
- "sIRhK",
- "module",
- 138
- ],
- "DA4008_DEM_Parallel_PRBS_1CH": [
- "DA4008_DEM_Parallel_PRBS_1CH",
- "cQW1k",
- "module",
- 139
- ],
- "spi_bus_decoder_0000": [
- "spi_bus_decoder_0000",
- "qLaCg",
- "module",
- 142
- ],
- "spi_slave": [
- "spi_slave",
- "eAsJz",
- "module",
- 143
- ],
- "spi_sys_0000": [
- "spi_sys_0000",
- "QT8j3",
- "module",
- 144
- ],
- "clk_gen": [
- "clk_gen",
- "MEIvW",
- "module",
- 146
- ],
- "DEM_Reverse_64CH_0000": [
- "DEM_Reverse_64CH_0000",
- "YnCHV",
- "module",
- 147
- ],
- "lvds_if": [
- "lvds_if",
- "nS0i0",
- "module",
- 151
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 153
- ]
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/constraint.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/constraint.sdb
deleted file mode 100644
index 85e2664..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/constraint.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/covg_defs b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/covg_defs
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/.version b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/.version
deleted file mode 100644
index ed555f5..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/.version
+++ /dev/null
@@ -1,4 +0,0 @@
-O-2018.09-SP2_Full64
-Build Date = Feb 28 2019 22:34:30
-RedHat
-Compile Location: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/AllModulesSkeletons.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/AllModulesSkeletons.sdb
deleted file mode 100644
index 07bd0fe..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/AllModulesSkeletons.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/HsimSigOptDb.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/HsimSigOptDb.sdb
deleted file mode 100644
index 405f474..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/HsimSigOptDb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/dumpcheck.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/dumpcheck.db
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/dve_debug.db.gz b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/dve_debug.db.gz
deleted file mode 100644
index c4df61c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/dve_debug.db.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/.create_fsearch_db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/.create_fsearch_db
deleted file mode 100755
index 72dfca3..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/.create_fsearch_db
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh -h
-PYTHONHOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/etc/search/pyh
-export PYTHONHOME
-PYTHONPATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export PYTHONPATH
-LD_LIBRARY_PATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib:/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export LD_LIBRARY_PATH
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcsfind_create_index.exe -z "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_E1cKA4.xml.gz" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_tapi.xml.gz" -o "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp"
-\mv "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db"
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/check_fsearch_db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/check_fsearch_db
deleted file mode 100755
index 1c1ff54..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/check_fsearch_db
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh -h
-
-FILE_PATH="/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch"
-lockfile="${FILE_PATH}"/lock
-
-FSearch_lock_release() {
- echo "" > /dev/null
-}
-create_fsearch_db_ctrl() {
- if [ -s "${FILE_PATH}"/fsearch.stat ]; then
- if [ -s "${FILE_PATH}"/fsearch.log ]; then
- echo "ERROR building identifier database failed. Check ${FILE_PATH}/fsearch.log"
- else
- cat "${FILE_PATH}"/fsearch.stat
- fi
- return
- fi
- nohup "$1" > "${FILE_PATH}"/fsearch.log 2>&1 193>/dev/null &
- MY_PID=`echo $!`
- BUILDER="pid ${MY_PID} ${USER}@${hostname}"
- echo "INFO Started building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier."
- echo "INFO Still building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." > "${FILE_PATH}"/fsearch.stat
- return
-}
-
-dir_name=`/bin/dirname "$0"`
-if [ "${dir_name}" = "." ]; then
- cd $dir_name
- dir_name=`/bin/pwd`
-fi
-if [ -d "$dir_name"/../../../../../../../../../../.. ]; then
- cd "$dir_name"/../../../../../../../../../../..
-fi
-
-if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db" ]; then
- if [ ! -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db" ]; then
- if [ "$#" -eq 1 ] && [ "x$1" == "x-background" ]; then
- trap FSearch_lock_release EXIT
- (
- flock 193
- create_fsearch_db_ctrl "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- exit 193
- ) 193> "$lockfile"
- rstat=$?
- if [ "${rstat}"x != "193x" ]; then
- exit $rstat
- fi
- else
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
- fi
- elif [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
-fi
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/fsearch.stat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/fsearch.stat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz
deleted file mode 100644
index fbbb0ed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz
deleted file mode 100644
index 56532b3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz
deleted file mode 100644
index 125a143..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/src_files_verilog b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/src_files_verilog
deleted file mode 100644
index 376b419..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/src_files_verilog
+++ /dev/null
@@ -1,48 +0,0 @@
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tphn28hpcpgv18.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_pulse_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_reset_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_stream_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/LVDS_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/SPI_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clk_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clock_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/reset_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/spi_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_ctrl.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/clk/clk_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/pulse_generator.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/ramp_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/syncer.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dac_regfile/dac_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dacif/dacif.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_define.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_undefine.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/io/iopad.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/lvds/ulink_rx.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/bhv_spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_dmux.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/tsmc_dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_gen_unit.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_bus_decoder.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_pll.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_slave.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_sys.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/systemregfile/systemregfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/da4008_chip_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/digital_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/topmodules b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/topmodules
deleted file mode 100644
index 5dce012..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/topmodules
+++ /dev/null
@@ -1 +0,0 @@
-rLDB\$cCs1S%g)!tx".<8YS9I:>B;?572A*').Q)* $*+sxBI,8DOXPEP6tn7\2[eZ>$m=:2B;Rei F)BLmwlOL"VInAlO
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/vir.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/vir.sdb
deleted file mode 100644
index a29ccd6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/debug_dump/vir.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/eblklvl.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/eblklvl.db
deleted file mode 100644
index 2870040..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/eblklvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/elabmoddb.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/elabmoddb.sdb
deleted file mode 100644
index 1bf90b0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/elabmoddb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/external_functions b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/external_functions
deleted file mode 100644
index 394a9dd..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/external_functions
+++ /dev/null
@@ -1,129 +0,0 @@
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDisplay novas_call_fsdbDisplay - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMem novas_call_fsdbDumpMem - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemNow novas_call_fsdbDumpMemNow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInScope novas_call_fsdbDumpMemInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDANow novas_call_fsdbDumpMDANow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAOnChange novas_call_fsdbDumpMDAOnChange - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAInScope novas_call_fsdbDumpMDAInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInFile novas_call_fsdbDumpMemInFile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLon novas_call_fsdbDumpPSLon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLoff novas_call_fsdbDumpPSLoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAon novas_call_fsdbDumpSVAon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAoff novas_call_fsdbDumpSVAoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpStrength novas_call_fsdbDumpStrength - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSingle novas_call_fsdbDumpSingle - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpIO novas_call_fsdbDumpIO - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPattern novas_call_fsdbDumpPattern - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSubstituteHier novas_call_fsdbSubstituteHier - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $dumpports DumpPortsIeeeCALL - DumpPortsMISC
-pli $lsi_dumpports DumpPortsLsiCALL - DumpPortsMISC
-pli $dumpportson DumpPortsOnCALL - DumpPortsMISC
-pli $dumpportsoff DumpPortsOffCALL - DumpPortsMISC
-pli $dumpportsflush DumpPortsFlushCALL - DumpPortsMISC
-pli $simlearn simLearnCall simLearnCheck simLearnMisc
-pli $dumpportsall DumpPortsAllCALL - DumpPortsMISC
-pli $dumpportslimit DumpPortsLimitCALL - DumpPortsMISC
-pli $countdrivers CountDriversCALL - -
-pli $vcsmemprof DMMemProfCALL DMMemProfCheck DMMemProfMISC
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_callgraph.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_callgraph.sdb
deleted file mode 100644
index 29ba859..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_callgraph.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_level.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_level.sdb
deleted file mode 100644
index d9372b5..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_rtime_level.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_rtime_level.sdb
deleted file mode 100644
index 93f8432..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hslevel_rtime_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hsscan_cfg.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/hsscan_cfg.dat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall.sdb
deleted file mode 100644
index c8ddf48..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32553.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32553.sdb
deleted file mode 100644
index 50736b6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32573.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32573.sdb
deleted file mode 100644
index 520f26d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32574.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32574.sdb
deleted file mode 100644
index 35d2e97..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32575.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32575.sdb
deleted file mode 100644
index db9d5d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32576.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32576.sdb
deleted file mode 100644
index 574a192..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32577.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32577.sdb
deleted file mode 100644
index c482d66..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32578.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32578.sdb
deleted file mode 100644
index 0e5abe3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32579.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32579.sdb
deleted file mode 100644
index 5dd9049..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64094.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64094.sdb
deleted file mode 100644
index 9c5b3e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64123.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64123.sdb
deleted file mode 100644
index b73abc8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/indcall_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/nsparam.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/nsparam.dat
deleted file mode 100644
index 1afe863..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcc.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcc.sdb
deleted file mode 100644
index 49aadd2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcc.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcxpxmr.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcxpxmr.dat
deleted file mode 100644
index ee5778d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/pcxpxmr.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/prof.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/prof.sdb
deleted file mode 100644
index d6881ad..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/prof.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.dat
deleted file mode 100644
index 54fcebf..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.so b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.so
deleted file mode 100755
index 6df9faa..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/rmapats.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/saifNetInfo.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/saifNetInfo.db
deleted file mode 100644
index a69d3f9..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/saifNetInfo.db
+++ /dev/null
@@ -1,22 +0,0 @@
-7
-TB.U_da4008_chip_top.U_iopad.PDDW08SDGZ_V_G_sync_out
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_irq
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_miso
-C
-Scal
-tsmc_dpram
-spram_512X8192_generationBWEBA
-All
-tsmc_dpram
-spram_512X8192_generationBWEBB
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBA
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBB
-All
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/simv.kdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/simv.kdb
deleted file mode 100644
index 68eacf4..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/simv.kdb
+++ /dev/null
@@ -1,16 +0,0 @@
-rc file Version 1.0
-
-[Design]
-COMPILE_PATH=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-SystemC=FALSE
-UUM=FALSE
-KDB=FALSE
-USE_NOVAS_HOME=FALSE
-COSIM=FALSE
-TOP=PCLAMP_G PCLAMPC_H_G PCLAMPC_V_G PDB3A_H_G PDB3A_V_G PDB3AC_H_G PDB3AC_V_G PDDW04DGZ_H_G PDDW04DGZ_V_G PDDW04SDGZ_H_G PDDW08DGZ_H_G PDDW08DGZ_V_G PDDW08SDGZ_H_G PDDW08SDGZ_V_G PDDW12DGZ_H_G PDDW12DGZ_V_G PDDW12SDGZ_H_G PDDW12SDGZ_V_G PDDW16DGZ_H_G PDDW16DGZ_V_G PDDW16SDGZ_H_G PDDW16SDGZ_V_G PDUW04DGZ_H_G PDUW04DGZ_V_G PDUW04SDGZ_H_G PDUW08DGZ_H_G PDUW08DGZ_V_G PDUW08SDGZ_H_G PDUW12DGZ_H_G PDUW12DGZ_V_G PDUW12SDGZ_H_G PDUW12SDGZ_V_G PDUW16DGZ_H_G PDUW16DGZ_V_G PDUW16SDGZ_H_G PDUW16SDGZ_V_G PDXOEDG_H_G PDXOEDG_V_G PENDCAP_G PENDCAPA_G PRCUT_G PRCUTA_G PRDW08DGZ_H_G PRDW08DGZ_V_G PRDW08SDGZ_H_G PRDW08SDGZ_V_G PRDW12DGZ_H_G PRDW12DGZ_V_G PRDW12SDGZ_H_G PRDW12SDGZ_V_G PRDW16DGZ_H_G PRDW16DGZ_V_G PRDW16SDGZ_H_G PRDW16SDGZ_V_G PRUW08DGZ_H_G PRUW08DGZ_V_G PRUW08SDGZ_H_G PRUW08SDGZ_V_G PRUW12DGZ_H_G PRUW12DGZ_V_G PRUW12SDGZ_H_G PRUW12SDGZ_V_G PRUW16DGZ_H_G PRUW16DGZ_V_G PRUW16SDGZ_H_G PRUW16SDGZ_V_G PVDD1A_H_G PVDD1A_V_G PVDD1AC_H_G PVDD1AC_V_G PVDD1ANA_H_G PVDD1ANA_V_G PVDD1DGZ_H_G PVDD1DGZ_V_G PVDD2ANA_H_G PVDD2ANA_V_G PVDD2DGZ_H_G PVDD2DGZ_V_G PVDD2POC_H_G PVDD2POC_V_G PVDD3A_H_G PVDD3A_V_G PVDD3AC_H_G PVDD3AC_V_G PVSS1A_H_G PVSS1A_V_G PVSS1AC_H_G PVSS1AC_V_G PVSS1ANA_H_G PVSS1ANA_V_G PVSS1DGZ_H_G PVSS1DGZ_V_G PVSS2A_H_G PVSS2A_V_G PVSS2AC_H_G PVSS2AC_V_G PVSS2ANA_H_G PVSS2ANA_V_G PVSS2DGZ_H_G PVSS2DGZ_V_G PVSS3A_H_G PVSS3A_V_G PVSS3AC_H_G PVSS3AC_V_G PVSS3DGZ_H_G PVSS3DGZ_V_G sirv_gnrl_xchecker sirv_gnrl_dffl sirv_gnrl_ltch clk_gen reset_tb TB
-OPTION=-ssz -ssv -ssy
-ELAB_OPTION=-ssz -ssv -ssy
-
-[Value]
-WREALX=ffff534e50535f58
-WREALZ=ffff534e50535f5a
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/stitch_nsparam.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/stitch_nsparam.dat
deleted file mode 100644
index 0357d47..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/stitch_nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/tt.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/tt.sdb
deleted file mode 100644
index d2a450a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/tt.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32553.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32553.sdb
deleted file mode 100644
index 698630c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32573.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32573.sdb
deleted file mode 100644
index fe16d76..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32574.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32574.sdb
deleted file mode 100644
index 84f865e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32575.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32575.sdb
deleted file mode 100644
index 25fe685..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32576.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32576.sdb
deleted file mode 100644
index 7f3e06e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32577.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32577.sdb
deleted file mode 100644
index 7782563..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32578.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32578.sdb
deleted file mode 100644
index 05787d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32579.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32579.sdb
deleted file mode 100644
index 3195347..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64094.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64094.sdb
deleted file mode 100644
index bca1a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64118.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64118.sdb
deleted file mode 100644
index 905b8e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64118.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64119.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64119.sdb
deleted file mode 100644
index 148ba9f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64119.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64120.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64120.sdb
deleted file mode 100644
index f4ec790..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64120.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64121.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64121.sdb
deleted file mode 100644
index d5b27d3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64121.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64122.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64122.sdb
deleted file mode 100644
index e1e2683..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64122.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64123.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64123.sdb
deleted file mode 100644
index 69ae935..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64124.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64124.sdb
deleted file mode 100644
index e8f7aa2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/ttIncr_64124.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcs_rebuild b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcs_rebuild
deleted file mode 100755
index 403c9c0..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcs_rebuild
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_elabout.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_elabout.db
deleted file mode 100644
index d941a4e..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_elabout.db
+++ /dev/null
@@ -1,691 +0,0 @@
-hsDirType 1
-fHsimDesignHasDebugNodes 63
-fNSParam 1024
-fLargeSizeSdfTest 0
-fHsimDelayGateMbme 0
-fNoMergeDelays 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fSharedMasterElab 0
-hsimLevelizeDone 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimTransUsingdoMpd32 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllXmrs 1
-fHsimMvsimDb 0
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpOffsetData 1
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimCgVectors2Debug 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimAllLevelSame 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimCbkOptDiag 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimOnepass 0
-fHsimStitchNew 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimSeqUdpDbsByteArray 0
-fHsimCoLocate 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimUdpDynElab 0
-fHsimCompressData 4
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimNoSched0Reg 0
-fHsimAmsFusionEnabled 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimBcOpt 1
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimScanDbgPerf 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimDumpMdb 0
-fHsimElabDiag 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCgRt 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimClasses 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fCompressSDF 0
-fDlpSvtbExclElab 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimNoPeekInMdbCell 0
-igetOpcodeSmdPtrLayoutId -1
-igetFieldSmdPtr -1
-fDebugDump 1
-fHsimOrigNodeNames 0
-fHsimCgVectors2VOnly 0
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdOptSVTypes 1
-fHsHasPeUpXmr 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimVectorGates 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgLevelize 0
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 0
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 1
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-fHsimFoldedCell 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimGateEdgeEventSched 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 151652416
-fHsimIslandByIslandFlat1 4
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fSpecifyInDesign 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsimPCSharedLibSpecified 0
-fHsFgpSchedCgUcLoads 1
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsSVNettypePerfOpt 0
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_virtintf_info.dat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_virtintf_info.dat
deleted file mode 100644
index 9b9249a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_master_hsim_virtintf_info.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hil_stmts.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hil_stmts.db
deleted file mode 100644
index e11ffed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hil_stmts.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsdef.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsdef.db
deleted file mode 100644
index e5d4b23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsdef.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_elab.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_elab.db
deleted file mode 100644
index 187a05b..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_elab.db
+++ /dev/null
@@ -1,1217 +0,0 @@
-psSimBaseName simv
-psLogFileName compile.log
-pDaiDir /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir
-destPath csrc/
-fSharedMaster 0
-fHsimPCSharedLibSpecified 0
-hsMainFileCount 0
-hsMainFileName dummy
-hsAuxFileName dummy
-hsimDlpPartitionFilename 0
-partitionName 6 MASTER
-hsimInitRegValue 3
-fNSParam 1024
-hsim_noschedinl 0
-hsim_hdbs 4096
-eval_order_seq 0
-simorder_light 0
-partialelab 0
-hsim_csdf -2147483648
-fHsimRuntimeElabSdf 0
-fNtcNewSolver 0
-fHsimSdfFileOpt 0
-fHsimTransUsingdoMpd32 0
-hsDirType 1
-fHsimClasses 0
-fHsimPulseMPDelay 1
-fHsimMvsimDb 0
-fHsimMvsimDebug 0
-fHsimAllXmrs 1
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimDoXmrProcessing 1
-fNoMergeDelays 0
-uGlblTimeUnit 4
-fHsimAllMtm 0
-fSimprofileNew 0
-fHsimVhVlOpt 0
-fHsimMdbVhVlInputFuseOpt 0
-fHsimMdbVhVlInoutFuseOpt 0
-fHsimMdbVhVlCcnOpt 0
-fHsimVlVhOpt 0
-fHsimVlVhVlOpt 0
-fHsimVlVhBfuseOpt 0
-xpropMergeMode 0
-xpropUnifiedInferenceMode 0
-xpropOverride 0
-isXpropConfigEnabled 0
-fHsimVectorConst 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fNewCBSemantics 1
-fSchedAtEnd 0
-fSpecifyInDesign 0
-fHsimDumpFlatData 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceStrId 1
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllExtXmrsDiag 0
-fHsimAllExtXmrsAllowClkFusing 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimAmsNewDrs 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpElabData 1
-fHsimNoDeposit 0
-fHsimDumpOffsetData 1
-fNoOfsOpt 0
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimDynamicElabDiag 0
-fHsimPrintPats 1
-fHsimInterpreted 0
-fHsimAggressiveCodegenForDelays 1
-fHsimAggressiveCgNtcDelays 1
-fHsimCgDelaysDiag 0
-fHsimCodegenForVectors 1
-fHsimCgVectors2E 1
-fHsimCgVectors2W 1
-fHsimCgVectors2Cbk 1
-fHsimCgVectors2Force 0
-fHsimCgVectors2Debug 0
-fHsimCgVectors2Diag 0
-fHsimHdlForceInfoDiag 0
-fHsimHdlForceInfo 0
-fHsimCodegenForTcheck 1
-fHsimUdpsched 0
-fHsimUdpTetramax 0
-fHsimUdpDelta 0
-fHsimMasterNodesOpt 0
-fHsimTransOpt 1
-fHsimNoPortOBN 0
-fHsimGateGroup 0
-fHsimOldXmr 0
-fHsimConst 1
-fHsimOptimizeSeqUdp 1
-fHsimOptimizeNotifier 0
-fHsimPrintUdpTable 0
-fHsimConstDelay 0
-fHsimConstForce 0
-fHsimCcnOpt4 0
-fHsimCcnOptDiag 0
-fHsimCcn 1
-fHsimDynamicCcn 0
-fHsimTestBoundaryConditions1 0
-fHsimTestBoundaryConditions2 0
-fHsimTestBoundaryConditions3 0
-fHsimTestElabNodeLimit 0
-fHsimInsertSched0ForLhsSelects 1
-fHsimVectors 1
-fHsimOde 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeUdp 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimOde4State 0
-fHsimOdeDiag 0
-fHsimOdeWithVecNew 0
-fHsimOdeAcceptDeadGates 0
-fHsimOdeAcceptValue4Loads 0
-fHsimOdeAmdSRLatch 0
-fHsimRmvSched0OnDataOfFlop 0
-fHsimRmvSched0OnMpd 0
-fHsimAllLevelSame 0
-fHsimDbsList 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimCodeShare 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fRaptorProf 0
-fHsimVpdOptGateMustDisable 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimVpdOptDiag 0
-fHsimVpdOptRtlIncrFix 0
-fHsimVpdOptDiagV 0
-fHsimCbkOptVecWithVcsd 0
-fHsimCbkOptDiag 0
-fHsimByRefIBN 1
-fHsimWireMda 1
-fHsimUniqifyElabDiag 0
-fHsimForceCbkVec 1
-fHsimSplitForceCbkVec 1
-fHsimLowPower 0
-fHsimLowPowerDumpOnly 0
-fHsimLowPowerDiag 0
-fHsimXpropFix 1
-fHsimXpropConfigTrace 0
-fHsimNameBasedInterface 1
-fHsimVcsInterfaceHierDiag 0
-fHsimCbSchedFix 0
-fHsimIncrDebug 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimSKIncr 0
-fElabModTimeProfCount 0
-fHsimChangeSharedLib 0
-fHsimNewIncr 1
-fHsimIncrSkip 0
-fHsimSecondCheckMdb 0
-fHsimIntraXmrNotMaster 0
-fHsimExtNodeDiag 0
-fHsimExtIntfXmrDebug 0
-fHsimExtXmrNodeDiag 0
-fPartTopElabModName 0
-fHsimPreResolveXmr 1
-fHsimNoIntfXmrNonMaster 1
-fHsimXmrPropDebug 0
-fHsimXmrElabDebug 0
-fHsimXmrNoMaster 1
-fHsimXmrNoMasterIBIF 1
-fHsimIncrMaster 0
-fHsimEffTest 0
-fHsimIncrTest 0
-fHsimIncrTesting 0
-fHsimOnepass 0
-fHsimPartModSplit 0
-fHsimNoIncrMatch 0
-fHsimMergeOnly 0
-fHsimStitchNew 0
-fHsimCbkOpt 1
-fFrcRelCbk 1
-fPulserrWarn 1
-hsMtmSpec 0
-fprofile 0
-fPreserveDaidir 1
-fHsimLevelize 1
-fHsimSelectLevelize 0
-fHsimSelectEdgeData 0
-fHsimSelectEdgeDataDbg 0
-fHsimSelectEdgeDataSched0 0
-fHsimSelectEdgeDataSanity 0
-fHsimLevelizeFlatNodeLimit 22
-fHsimLevelizeNoSizeLimit 1
-fHsimLevelizeForce 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimLevelizeNoCgDump 0
-fHsimReuseVcs1Sem 0
-semLevelizeVar -1
-fHsimLevelizeDbg 0
-fHsimMinputsPostEval 0
-fHsimSeqUdpDbsByteArray 0
-fHsimHilRtlAny 0
-fHsimHilRtlAll 0
-fHsimCoLocate 0
-fHsimNoinlSched0lq 0
-fHsimUdpOutputOpt 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimRelaxSched0 0
-fHsimLocalVar 0
-fHsimUdpDynElab 0
-fHsimCbDynElab 0
-fHsimCompressData 4
-fHsimIgnoreCaps 0
-fHsimMdbIgnoreCaps 0
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHsimIgnoreDifferentNStates 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimAllowFuseOnRegWithMultDrivers 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimSched0 0
-fHsimPulseFilter 0
-fHsimNoSched0Reg 0
-fHsimAddSched0 0
-fHsimLargeBc 0
-fHsimLargePdbModule 0
-fHsimMMDebug 0
-fHsimMMLimit 0
-hsimMMLimit 0
-fHsimAmsFusionEnabled 0
-fHsimAmsWrealMdrEnabled 0
-fHsimAmsWrealInitValZero 1
-fWrealForce 0
-fHsimCgMarkers 0
-fHsimSplitRmaCode 1
-rmapatsPattCountThreshold 1000
-fHsimElab64 0
-fHsimTestFnn64 0
-fHsimTestDgn64 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimInitialConst 0
-fHsimForceRtlDbs 0
-fHsimBcOpt 1
-fHsimBcOptDebug 0
-fHsimBfuseFast 1
-fHsimParallelElab 0
-fHsimParallelElabVcs1 0
-fpicArchive 1
-fCsrcInTmpDir 0
-fHsimInterconFE 1
-fHsimMxOpt 1
-fHsimModpathFE 1
-fHsimPathOnCCN 0
-fHsimOptMPDelayLoad 0
-fHsimTransMPDelay 1
-fLargeSizeSdfTest 0
-fAllMtm 0
-fHsimDelayGateMbme 0
-fHsimDelayGateMbmeOld 0
-fHsimNdb 1
-fHsimNdbDebug 0
-fHsimNdbTest 0
-fHsimGrpByGrpElabIncrTest 0
-fHsimGrpByGrpElabIncrTest2 0
-fHsimTestAggrCg 0
-fHsimOneInputGateAggrCg 0
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimSimlearnDdce 0
-fHsimSimlearnDdce_diag 0
-fHsimScanOpt 0
-fHsimScanOptPartComp 0
-fHsimHsoptNoScanOpt 0
-fHsimNoScanOptDeadLogic 1
-fHsimScanOptFixForDInSIPath 1
-fHsimNoScanOptForNonScanLoad 0
-fHsimScanOptLoopFix 1
-fHsimScanOptLoopFix2 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimNettypeOneDrvPerfOpt 0
-fHsimOldNettypeResFnOffset 0
-fHsimScanoptDump 0
-fHsimScanDbgFunc 0
-fHsimScanDbgPerf 0
-fHsimAutoScanSuppWarn 0
-fHsimScanOptAggr 0
-fHsimScanOptFuse 1
-fHsimScanMemOpt 1
-fHsimScanChainOpt 0
-fHsimForceChangeCheck 0
-fHsimFuseConsts 0
-fHsimMemBusOpt 0
-fHsimDefLevelElab 0
-fHsimOneInstElabMods 0
-fHsimOneInstElabModsHeur 1
-fHsimOneInstElabModsAllowDbg 0
-fHsimTopElabMods 0
-fHsimPVCS 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimVIIntegrityCheck 0
-fHsimOrigViewType 0
-fHsimXmrDumpFullDR 0
-fHsimXmrDumpDebug 0
-fHsimRTLoopDectEna 0
-fHsimAssertInActive 0
-dGblTeE 1.000000
-dGblTeR 1.000000
-dGblPeE 1.000000
-dGblPeR 1.000000
-fNewdaidirpath 0
-fHsimDelayMbmeCheck 4
-fHsimMdbPartInputLimit 1
-fHsimSdfData 0
-fHsimDesignHasSdfAnnotation 0
-fHsimDesignUsesParallelVcs 0
-fHsimCMEnabled 1
-fGblMSah 0
-fGblMSTe 0
-fGblIntPe 0
-fGblTe 0
-fGblPe 0
-iPulseR 100
-iPulseE 100
-iTransR 100
-iTransE 100
-fPulseOpt 0
-fGblPulseOnD 0
-fGblPulseOnE 0
-fVCSiFlow 0
-fSystemVCSEnabled 1
-fHsimForcedPort 0
-fpicOption 1
-fModelSave 0
-fHsimGenObj 1
-fHsimCbkMemOpt 1
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimDumpOriginalFlatNodeNumsMap 0
-fHsimRecordPli 0
-fHsimPlaybackPli 0
-fHsimModByModElabForGates 0
-fHsimMdbOpts 0
-fHsimMdbInlineNew 0
-fHsimMdbSelUdp2Rtl 0
-fHsimMdbUdp2Rtl 0
-fHsimZeroDelayDelta 1
-fHsimMdbUdp2Rtl_3state 0
-fHsimMdbUdp2Rtl_noxedge 0
-fHsimMdbUdp2Rtl_dfsr 0
-fHsimMdbInsertComplexSelect 0
-fHsimMdbNoComplexSelect 0
-fHsimMdbScalarization 0
-fHsimCmplxOperScalarization 0
-fHsimMdbVectorizeInstances2 0
-fHsimMdbVectorizeInstancesCfg 0
-fHsimMdbVectorizeInstDiag 0
-fHsimMdbVectorizeInstances3 0
-fHsimMdbOptimizeSeqUdp 0
-fHsimMdbB2BLatch 0
-fHsimMdbAggr 0
-fHsimMdbGateGroupNew 0
-fHsimMdbUdpGroup 0
-fHsimMdbOptimizeConstants 0
-fHsimMdbDfuse 0
-fHsimMdbBfuse 0
-fHsimMdbDce 0
-fHsimMdbMpopt 0
-fHsimMdbCondMpOpt 0
-fHsimMdbSimplifyMpCond 0
-fHsimDceIgnorecaps 0
-fHsimCondModPathDbs 0
-fHsimCondModPathCompact 0
-fHsimMdbCondMpMerge 0
-fHsimModPathCg 0
-fHsimNoCondModPathCg 0
-fHsimCompactCode 0
-fHsimCondTC 0
-fHsimMacroTC 0
-fHsimCondMPConst 0
-fHsimCondTCConst 0
-fHsimMergeDelay 0
-fHsimDelayOpt 0
-fRemoveDelonTrans 1
-fHsimModPathLoadOpt 1
-fHsimMdbTranOpt 0
-fHsimMdbTranMerge 0
-fHsimRmapatsCsh 0
-fHsimLrmSupply 0
-fHsimNewMbmeFlow 0
-fHsimBackEndInteg 0
-fHsimBackEndIntegCapsOk 0
-fHsimBackEndIntegDiag 0
-fHsimBackEndIntegMaxIbns 1024
-fHsimBackEndIntegDeadObns 0
-fHsimTran2MosDriver 1
-fHsimDumpCcn 0
-fHsimMdbNStateAnalysis 0
-fHsimMdbAdjustWidth 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdbPart 0
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimMdbHdbsBehavior 0
-fHsimMdbHdbsBehaviorTC 0
-fHsimMdbIbnObnPartition 0
-fHsimMdbDebugOpt0 0
-fHsimMdbClockAnalysis 0
-fHsimMdbMimo 0
-fHsimMdbMimoLite 0
-fHsimMdbMimoAggr 0
-fHsimDumpMdb 0
-fHsimDumpMdbVpd 0
-fHsimElabDiag 0
-fHsimElabMasterDiag 0
-fHsimElabDiagSummary 0
-fHsimElabDiagMn 0
-fHsimElabDiagMnCount 0
-fHsimElabDiagLite 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimDbsAlwaysBlocks 1
-fHsimPrintNodeMap 0
-fHsimSvAggr 0
-fHsimDynamicFlatNode 0
-fHsimSeqPrimCg 1
-fHsimDiagPats 0
-fHsimDdPats 0
-fHsimPatOpt 3
-fHsimPatInline 0
-fHsimPatOutline 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCloadOpt 0
-fHsimNoICDelayPropPwEqDelay 0
-fHsimPrintMopComment 0
-fNewRace 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCg 0
-fHsimNewCgRt 0
-fHsimNewCgFg 0
-fHsimNewCgMinput 0
-fHsimNewCgUpdate 0
-fHsimNewCgMP 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimNewCgTC 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbInstDiag 0
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fHsimSdfICOverlap 0
-fHsimSdfICDiag 0
-fHsimSdfICOpt 0
-fHsimMsvSdfInout 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimGrpByGrpElabIncrDiag 0
-fHsimEvcdTranSeen 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimNoPruning 0
-fHsimNoVarBidirs 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbUnidirSelects 0
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimNoTcSched 0
-fHsimSchedOpt 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fHsimDumpMdbAll 0
-fHsimDumpMdbRaptor 0
-fHsimDumpMdbGates 0
-fHsimDumpMdbPrune 0
-fHsimDumpMdbInline 0
-fHsimDumpMdbCondTC 0
-fHsimDumpMdbNState 0
-fHsimDumpMdbVhVlInputFuseOpt 0
-fHsimDumpMdbVhVlInoutFuseOpt 0
-fHsimDumpMdbVhVlCcnOpt 0
-fCompressSDF 0
-fHsimDumpMdbSchedDelta 0
-fHsimDumpMdbNoVarBidirs 0
-fHsimDumpMdbScalarize 0
-fHsimDumpMdbVecInst 0
-fHsimDumpMdbVecInst2 0
-fHsimDumpMdbDce 0
-fHsimDumpMdbScanopt 0
-fHsimDumpMdbSelects 0
-fHsimDumpMdbAggr 0
-fHsimDumpMdbOptConst 0
-fHsimDumpMdbVcsInterface 0
-fHsimDumpMdbDfuse 0
-fHsimDumpMdbBfuse 0
-fHsimDumpMdbTranOpt 0
-fHsimDumpMdbOptLoops 0
-fHsimDumpMdbSeqUdp 0
-fHsimDumpMdbMpOpt 0
-fHsimDumpMdbGG 0
-fHsimDumpMdbUdpGG 0
-fHsimDumpMdbMimo 0
-fHsimDumpMdbUdp2rtl 0
-fHsimDumpMdbUdpDelta 0
-fHsimDumpMdbDebugOpt 0
-fHsimDumpMdbSplitGates 0
-fHsimDumpMdb1006Part 0
-fHsimDumpMdbPart 0
-fHsimDumpMdbSimplifyMpCond 0
-fDlpSvtbExclElab 0
-fHsimDumpMdbCondMpMerge 0
-fHsimDumpMdbCondMp 0
-fHsimDumpMdbCondModPathDbs 0
-fHsimSdfAltRetain 0
-fHsimDumpMdbCompress 1
-fHsimDumpMdbSummary 0
-fHsimBfuseOn 1
-fHsimBfuseHeur 0
-fHsimBfuseHash 1
-fHsimSelectCell 0
-fHsimBfuseNoRedundantFanout 1
-fHsimBFuseVectorMinputGates 0
-fHsimBFuseVectorAlways 0
-fHsimDfuseOn 1
-fHsimDumpMdbPruneVpdGates 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimMdbCellComplexity 1.500000
-fHsimMdbCellHeur 1
-fHsimNoPeekInMdbCell 0
-fDebugDump 1
-fHsimOrigNodeNames 0
-hsimSrcList filelist
-fHsimCgVectors2VOnly 0
-fHsimPortCoerce 0
-fHsimBidirOpt 0
-fHsimCheckLoop 1
-fHsimCheckLoopDiag 0
-fHsimCheckLoopMore 0
-fHsimLoop 1
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdHighConnReplaced 1
-fHsimVpdOptSVTypes 1
-fHsimDlyInitFrc 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimUseBidirSelectsInVectorGates 0
-fHsimGates2 0
-fHsimVectorGates 0
-fHsimHilCg 0
-fHsimHilVecAndRtl 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgUnidirSel 0
-fHsimMdbcgLhsConcat 0
-fHsimMdbcgSelectSplit 0
-fHsimMdbcgProcessSelSplit 0
-fHsimMdbcgEdgeop 0
-fHsimMdbcgMultiDelayControl 1
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseVecIgnoreFrc 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimAllPortsDiag 0
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 1
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptConst 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 0
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsimNewConstProp 0
-fHsimSignedOp 0
-fHsimVarIndex 0
-fHsimNewMdbNstate 0
-fHsimProcessNstate 0
-fHsimMdbModpathNstate 0
-fHsimPgateConst 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsNBACgOpt 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsimMemory 0
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fRtdbgAccess 0
-fRtdbgOption 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-vcsNettypeDbgOpt 4
-fHsimFoldedCell 0
-fHsimSimon2Mdb 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimSlowNfsRmapats 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fHashTableSize 12
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fHsimByteCodePartTesting 0
-fHsimByteCodePartAssert 0
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimLevelCompaction 0
-fHsimLevelCompactionThreshold 0
-fHsimGateEdgeEventSched 0
-fHsimGateEdgeEventSchedThreshold 0
-fHsimGateEdgeEventSchedSanity 0
-fHsimSelectEdgeEventSched 0
-fHsimSelectEdgeEventSchedNoTempReuse 0
-fHsimSelectEdgeEventSchedThreshold 0
-fHsimMaxComboLevels 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpMultiSocketAfterGrping 0
-fFgpMultiSocketNCuts 1
-fFgpMultiSocketDiag 0
-fFgpMultiSocketRecomputePart 1
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpXmrDepOn 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpTcLoadThreshold 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpSanityTest 0
-fFgpSanityTest_Eng 1
-fFgpAlternativeLevelization 0
-fFgpHighFanoutThreshold 1024
-fFgpSplitGroupLevels 1
-fFgpSplitGroupIbn 1
-fFgpSplitGroupGateEdge 1
-fFgpSplitGroupEval 3
-fFgpGroupingPerfDiag 0
-fFgpSplitGroupDiag 0
-fFgpStricDepModDiag 0
-fFgpIPProtect 0
-fFgpIPProtectStrict 0
-fFgpNoVirtualThreads 0
-fFgpLoadBalance0DiagComp 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedNoLevel 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpObnSched 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fHsimNetXmrDrvChk 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 0
-fHsimIslandByIslandFlat1 0
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-fHsimElabJ4SDF 0
-cElabProcs 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimElabJMMFactor 0
-fHsimOneInstCap 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedRandom 0
-fHsimSchedAll 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fHsimSchedSelectFanoutRandom 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimNoReconvergenceSched0 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpMbme 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fFgpHideXmrNodes 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsimAggrTCOpt 0
-fFgpNewAggrXmrIterFlow 0
-fFgpNoLocalReferer 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsFgpSchedCgUcLoads 1
-fHsimAdvanceUdpInfer 0
-fFgpIbnSchedIntf 0
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsimCosimGatesProp 0
-fHsSVNettypePerfOpt 0
-fHsCgOptHashFixMap 1
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
-fHsimCongruencyConfigFile 0
-fHsimCongruencyLogFile 0
-fHsimCoverageEnabled 1
-fHsimCoverageOptions 279
-fHsimCoverageDir ./coverage/simv.vdb
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_fegate.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_fegate.db
deleted file mode 100644
index 8be0045..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_fegate.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_lvl.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_lvl.db
deleted file mode 100644
index 861898a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_lvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_merge.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_merge.db
deleted file mode 100644
index 3e9e254..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_merge.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_name.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_name.db
deleted file mode 100644
index 2c3116f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_name.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_uds.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_uds.db
deleted file mode 100644
index 3544e39..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_hsim_uds.db
+++ /dev/null
@@ -1,10 +0,0 @@
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_midd.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_midd.db
deleted file mode 100644
index 2c06e1c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_midd.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_mnmn.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_mnmn.db
deleted file mode 100644
index d30eaa6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_mnmn.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partition.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partition.db
deleted file mode 100644
index 45c0dfb..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partition.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partitionDbg.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partitionDbg.db
deleted file mode 100644
index 410c022..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_partitionDbg.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_tCEYNb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_tCEYNb
deleted file mode 100644
index f71343b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_tCEYNb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vcselabref.db b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vcselabref.db
deleted file mode 100644
index f76dd23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vcselabref.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vpdnodenums b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vpdnodenums
deleted file mode 100644
index c7400e4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/simv.daidir/vcselab_misc_vpdnodenums and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/ucli.key b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/ucli.key
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/.diagnose.oneSearch b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/.diagnose.oneSearch
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/ToNetlist.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/ToNetlist.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/compiler.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/compiler.log
deleted file mode 100644
index c9b958d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/compiler.log
+++ /dev/null
@@ -1,262 +0,0 @@
-*design* DebussyLib (btIdent Verdi_O-2018.09-SP2)
-Command arguments:
- +define+verilog
- -sverilog
- -f filelist_vlg.f
- ../../../../rtl/define/chip_define.v
- ../../../../lib/tphn28hpcpgv18.v
- ../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
- ../../../../rtl/io/iopad.v
- ../../../../rtl/systemregfile/systemregfile.v
- ../../../../rtl/dacif/dacif.v
- ../../../../rtl/fifo/syn_fwft_fifo.v
- ../../../../rtl/dac_regfile/dac_regfile.v
- ../../../../rtl/lvds/ulink_rx.sv
- ../../../../rtl/rstgen/rst_gen_unit.v
- ../../../../rtl/rstgen/rst_sync.v
- ../../../../rtl/comm/sirv_gnrl_xchecker.v
- ../../../../rtl/comm/pulse_generator.sv
- ../../../../rtl/comm/sirv_gnrl_dffs.v
- ../../../../rtl/comm/syncer.v
- ../../../../rtl/comm/ramp_gen.v
- ../../../../rtl/memory/tsmc_dpram.v
- ../../../../rtl/memory/sram_if.sv
- ../../../../rtl/memory/sram_dmux.sv
- ../../../../rtl/memory/dpram.v
- ../../../../rtl/memory/bhv_spram.v
- ../../../../rtl/memory/spram.v
- ../../../../rtl/clk/clk_regfile.v
- ../../../../rtl/awg/awg_top.sv
- ../../../../rtl/awg/awg_ctrl.v
- ../../../../rtl/dem/DEM_PhaseSync_4008.sv
- ../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
- ../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
- ../../../../rtl/top/da4008_chip_top.sv
- ../../../../rtl/top/digital_top.sv
- ../../../../rtl/spi/spi_bus_decoder.sv
- ../../../../rtl/spi/spi_slave.v
- ../../../../rtl/spi/spi_pll.v
- ../../../../rtl/spi/spi_sys.v
- ../../../../model/clock_tb.v
- ../../../../model/spi_if.sv
- ../../../../model/clk_gen.v
- ../../../../model/DEM_Reverse_64CH.v
- ../../../../model/DEM_Reverse.v
- ../../../../model/reset_tb.v
- ../../../../model/DW_stream_sync.v
- ../../../../model/DW_reset_sync.v
- ../../../../model/DW_sync.v
- ../../../../model/DW_pulse_sync.v
- ../../../../sim/chip_top/TB.sv
- ../../../../rtl/define/chip_undefine.v
- -top
- TB
-
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/io/iopad.v", 35:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/io/iopad.v", 187:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/memory/dpram.v", 2:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/memory/dpram.v", 90:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/top/da4008_chip_top.sv", 3:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/top/da4008_chip_top.sv", 212:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/top/digital_top.sv", 34:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/top/digital_top.sv", 528:
-
-*Error* `include file "../../rtl/define/chip_define.v" cannot be read
-"../../../../sim/chip_top/TB.sv", 1:
-
-*Error* `include file "../../model/SPI_DRIVER.sv" cannot be read
-"../../../../sim/chip_top/TB.sv", 3:
-
-*Error* `include file "../../model/LVDS_DRIVER.sv" cannot be read
-"../../../../sim/chip_top/TB.sv", 5:
-
-*Error* failed to find symbol 'my_drv'
-"../../../../sim/chip_top/TB.sv", 81:
-
-*Error* failed to find symbol 'lvds_drv'
-"../../../../sim/chip_top/TB.sv", 82:
-Highest level modules:
-PCLAMP_G
-PCLAMPC_H_G
-PCLAMPC_V_G
-PDB3A_H_G
-PDB3A_V_G
-PDB3AC_H_G
-PDB3AC_V_G
-PDDW04DGZ_H_G
-PDDW04DGZ_V_G
-PDDW04SDGZ_H_G
-PDDW08DGZ_H_G
-PDDW08DGZ_V_G
-PDDW08SDGZ_H_G
-PDDW08SDGZ_V_G
-PDDW12DGZ_H_G
-PDDW12DGZ_V_G
-PDDW12SDGZ_H_G
-PDDW12SDGZ_V_G
-PDDW16DGZ_H_G
-PDDW16DGZ_V_G
-PDDW16SDGZ_H_G
-PDDW16SDGZ_V_G
-PDUW04DGZ_H_G
-PDUW04DGZ_V_G
-PDUW04SDGZ_H_G
-PDUW08DGZ_H_G
-PDUW08DGZ_V_G
-PDUW08SDGZ_H_G
-PDUW12DGZ_H_G
-PDUW12DGZ_V_G
-PDUW12SDGZ_H_G
-PDUW12SDGZ_V_G
-PDUW16DGZ_H_G
-PDUW16DGZ_V_G
-PDUW16SDGZ_H_G
-PDUW16SDGZ_V_G
-PDXOEDG_H_G
-PDXOEDG_V_G
-PENDCAP_G
-PENDCAPA_G
-PRCUT_G
-PRCUTA_G
-PRDW08DGZ_H_G
-PRDW08DGZ_V_G
-PRDW08SDGZ_H_G
-PRDW08SDGZ_V_G
-PRDW12DGZ_H_G
-PRDW12DGZ_V_G
-PRDW12SDGZ_H_G
-PRDW12SDGZ_V_G
-PRDW16DGZ_H_G
-PRDW16DGZ_V_G
-PRDW16SDGZ_H_G
-PRDW16SDGZ_V_G
-PRUW08DGZ_H_G
-PRUW08DGZ_V_G
-PRUW08SDGZ_H_G
-PRUW08SDGZ_V_G
-PRUW12DGZ_H_G
-PRUW12DGZ_V_G
-PRUW12SDGZ_H_G
-PRUW12SDGZ_V_G
-PRUW16DGZ_H_G
-PRUW16DGZ_V_G
-PRUW16SDGZ_H_G
-PRUW16SDGZ_V_G
-PVDD1A_H_G
-PVDD1A_V_G
-PVDD1AC_H_G
-PVDD1AC_V_G
-PVDD1ANA_H_G
-PVDD1ANA_V_G
-PVDD1DGZ_H_G
-PVDD1DGZ_V_G
-PVDD2ANA_H_G
-PVDD2ANA_V_G
-PVDD2DGZ_H_G
-PVDD2DGZ_V_G
-PVDD2POC_H_G
-PVDD2POC_V_G
-PVDD3A_H_G
-PVDD3A_V_G
-PVDD3AC_H_G
-PVDD3AC_V_G
-PVSS1A_H_G
-PVSS1A_V_G
-PVSS1AC_H_G
-PVSS1AC_V_G
-PVSS1ANA_H_G
-PVSS1ANA_V_G
-PVSS1DGZ_H_G
-PVSS1DGZ_V_G
-PVSS2A_H_G
-PVSS2A_V_G
-PVSS2AC_H_G
-PVSS2AC_V_G
-PVSS2ANA_H_G
-PVSS2ANA_V_G
-PVSS2DGZ_H_G
-PVSS2DGZ_V_G
-PVSS3A_H_G
-PVSS3A_V_G
-PVSS3AC_H_G
-PVSS3AC_V_G
-PVSS3DGZ_H_G
-PVSS3DGZ_V_G
-sirv_gnrl_xchecker
-sirv_gnrl_dffl
-sirv_gnrl_ltch
-clk_gen
-reset_tb
-TB
-
-
-*Error* failed to find identifier lvds_drv
-"../../../../sim/chip_top/TB.sv", 89:
-
-*Error* failed to find identifier lvds_drv.new
-"../../../../sim/chip_top/TB.sv", 89:
-
-*Error* failed to find identifier lvds_drv.drv_if
-"../../../../sim/chip_top/TB.sv", 91:
-
-*Error* failed to find identifier my_drv
-"../../../../sim/chip_top/TB.sv", 94:
-
-*Error* failed to find identifier my_drv.new
-"../../../../sim/chip_top/TB.sv", 94:
-
-*Error* failed to find identifier my_drv.file_path
-"../../../../sim/chip_top/TB.sv", 95:
-
-*Error* failed to find identifier my_drv.itf
-"../../../../sim/chip_top/TB.sv", 96:
-
-*Error* failed to find identifier lvds_drv.train_count
-"../../../../sim/chip_top/TB.sv", 102:
-
-*Error* failed to find identifier lvds_drv.send_training
-"../../../../sim/chip_top/TB.sv", 103:
-
-*Error* failed to find identifier lvds_drv.scrambler_en
-"../../../../sim/chip_top/TB.sv", 104:
-
-*Error* failed to find identifier lvds_drv.send_frame_from_file
-"../../../../sim/chip_top/TB.sv", 105:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 108:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 120:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 131:
-
-*Error* failed to find identifier lvds_bus.data
-"../../../../sim/chip_top/TB.sv", 218:
-
-*Error* failed to find identifier lvds_bus.valid
-"../../../../sim/chip_top/TB.sv", 219:
-
-*Error* failed to find identifier lvds_bus.clk
-"../../../../sim/chip_top/TB.sv", 220:
-
-*Error* view lvds_if is not defined for instance lvds_bus
-"../../../../sim/chip_top/TB.sv", 69:
-Total 31 error(s), 0 warning(s)
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/exe.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/exe.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.log
deleted file mode 100644
index 157ce72..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.log
+++ /dev/null
@@ -1,10 +0,0 @@
-Verdi (R)
-
-Release Verdi_O-2018.09-SP2 for (RH Linux x86_64/64bit) -- Thu Feb 21 04:40:56 PDT 2019
-
-Copyright (c) 1999 - 2019 Synopsys, Inc.
-This software and the associated documentation are proprietary to Synopsys, Inc.
-This software may only be used in accordance with the terms and conditions of a written license agreement with Synopsys, Inc.
-All other use, reproduction, or distribution of this software is strictly prohibited.
-
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.rc b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.rc
deleted file mode 100644
index e4560f4..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas.rc
+++ /dev/null
@@ -1,1302 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[Form]
-version = Verdi_O-2018.09-SP2
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-QwUserAskDlg = 953,517,324,130
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-2 = string (session file name)
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VerilogXL
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_GRAY1
-hdlPslComment = ID_GRAY1
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = 597 184 1017 706 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-viewPort = 54 237 960 332 100 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-scope_to_save_with_macro
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-open_file_time_range = FALSE
-open_file_dir
-open_rc_file_dir
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-NameRule =
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 50 214 960 332 100 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses
deleted file mode 100644
index 490ab1a..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses
+++ /dev/null
@@ -1,82 +0,0 @@
-@verdi rc file Version 1.0
-[General]
-saveDB = TRUE
-relativePath = FALSE
-saveSingleView = FALSE
-saveNWaveWinId =
-VerdiVersion = Verdi_O-2018.09-SP2
-[KeyNote]
-Line1 = Automatic Backup 0
-Line2 = Save Open Database Information: Yes
-Line3 = Path Option: Absolute Paths
-Line4 = Windows Option: All Windows
-[TestBench]
-ConstrViewShow = 0
-InherViewShow = 0
-FSDBMsgShow = 0
-AnnotationShow = 0
-Console = FALSE
-powerDumped = 0
-[hb]
-postSimFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb
-syncTime = 41008932
-viewport = 0 27 1920 977 0 0 256 1015
-activeNode = "TB"
-activeScope = "TB"
-activeFile = "../../../../sim/chip_top/TB.sv"
-interactiveMode = False
-viewType = Source
-simulatorMode = False
-sourceBeginLine = 312
-baMode = False
-srcLineNum = True
-AutoWrap = True
-IdentifyFalseLogic = False
-syncSignal = False
-traceMode = Hierarchical
-showTraceInSchema = True
-paMode = False
-funcMode = False
-powerAwareAnnot = True
-amsAnnot = True
-traceCrossHier = True
-DnDtraceCrossHierOnly = True
-traceIncTopPort = False
-leadingZero = False
-signalPane = False
-Scope1 = "TB"
-multipleSelection = 1 316 6 0 0
-sdfCheckUndef = FALSE
-simFlow = FALSE
-[hb.design]
-importCmd = "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-invokeDir = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop
-[hb.sourceTab.1]
-scope = TB
-File = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
-Line = 313
-[nMemoryManager]
-WaveformFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb
-UserActionNum = 0
-nMemWindowNum = 0
-[wave.0]
-viewPort = 0 27 1920 392 100 65
-primaryWindow = TRUE
-SessionFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.wave.0
-displayGrid = FALSE
-hierarchicalName = FALSE
-snap = TRUE
-displayLeadingZeros = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-highlightGlitchs = FALSE
-waveformSyncCursorMarker = FALSE
-waveformSyncHorizontalRange = FALSE
-waveformSyncVerticalscroll = FALSE
-displayErrors = TRUE
-displayMsgSymbols = TRUE
-showMsgDescriptions = TRUE
-autoFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.config b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.config
deleted file mode 100644
index e9c08bf..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.config
+++ /dev/null
@@ -1,55 +0,0 @@
-[qBaseWindowStateGroup]
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_encode_to_relative_window_id_name=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2v\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\x2|\0\0\x5\x4\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\size=@Size(1920 977)
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_x=-1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_y=27
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_width=1920
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_height=977
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.png b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.png
deleted file mode 100644
index f857478..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.png and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.wave.0 b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.wave.0
deleted file mode 100644
index 4d06552..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/novas_autosave.ses.wave.0
+++ /dev/null
@@ -1,56 +0,0 @@
-Magic 271485
-Revision Verdi_O-2018.09-SP2
-
-; Window Layout
-viewPort 0 27 1920 392 100 65
-
-; File list:
-; openDirFile [-d delimiter] [-s time_offset] [-rf auto_bus_rule_file] path_name file_name
-openDirFile -d / "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb"
-
-; file time scale:
-; fileTimeScale ### s|ms|us|ns|ps
-
-; signal spacing:
-signalSpacing 5
-
-; windowTimeUnit is used for zoom, cursor & marker
-; waveform viewport range
-zoom 36647693.257720 45370269.704986
-cursor 41008932.000000
-marker 41008956.000000
-
-; user define markers
-; userMarker time_pos marker_name color linestyle
-; visible top row signal index
-top 0
-; marker line index
-markerPos 2
-
-; event list
-; addEvent event_name event_expression
-; curEvent event_name
-
-
-
-COMPLEX_EVENT_BEGIN
-
-
-COMPLEX_EVENT_END
-
-
-
-; toolbar current search type
-; curSTATUS search_type
-curSTATUS ByChange
-
-
-addGroup "G1"
-activeDirFile "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb"
-addSignal -h 15 -UNSIGNED -HEX /TB/cs_wave[7:0]
-addSignal -h 15 -holdScope clk_40g
-addGroup "G2"
-
-; getSignalForm Scope Hierarchy Status
-; active file of getSignalForm
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/pes.bat b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/pes.bat
deleted file mode 100644
index 7c6e4ac..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/pes.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-where
-detach
-quit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/turbo.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/turbo.log
deleted file mode 100644
index d116551..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/turbo.log
+++ /dev/null
@@ -1,3 +0,0 @@
-Command Line: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/platform/LINUXAMD64/bin/Novas -sverilog -f filelist_vlg.f -top TB -ssf verdplus_000.fsdb -nologo
-uname(Linux cryo1 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64)
-au time 579.359709 17.293455 7.676470 delta 411447296 411447296 total 836534272 836534272
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/verdi.cmd b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/verdi.cmd
deleted file mode 100644
index 9ffe241..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/verdi.cmd
+++ /dev/null
@@ -1,319 +0,0 @@
-sidCmdLineBehaviorAnalysisOpt -incr -clockSkew 0 -loopUnroll 0 -bboxEmptyModule 0 -cellModel 0 -bboxIgnoreProtected 0
-debImport "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-debLoadSimResult \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb
-wvCreateWindow
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcSearchString "wave" -win $_nTrace1 -next -case
-srcSearchString "wave" -win $_nTrace1 -next -case
-srcSearchString "wave" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "cs_wave" -line 323 -pos 1 -win $_nTrace1
-srcAction -pos 322 5 1 -win $_nTrace1 -name "cs_wave" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "cs_wave" -line 323 -pos 1 -win $_nTrace1
-srcAddSelectedToWave -clipboard -win $_nTrace1
-wvDrop -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 39109671.032252 45530661.798741
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 39644753.596126 -snap {("G1" 0)}
-wvZoom -win $_nWave2 36239682.735109 52048940.304116
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-wvZoom -win $_nWave2 39644753.596126 45238798.582082
-wvZoom -win $_nWave2 40911202.037251 41066968.423058
-wvZoom -win $_nWave2 41004171.562920 41014166.258377
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 40414424.030357 45370631.366121
-wvZoom -win $_nWave2 42520512.135499 42658517.908771
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 40343997.355334 41284976.187135
-wvZoom -win $_nWave2 40986505.903920 41016125.092330
-wvZoom -win $_nWave2 41007519.032744 41011140.749486
-wvZoom -win $_nWave2 41010540.053122 41010566.360992
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 41009795.835435 -snap {("G1" 1)}
-wvBusWaveform -win $_nWave2 -analog
-wvSetPosition -win $_nWave2 {("G1" 1)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 37995391.626142 45896573.982649
-wvZoom -win $_nWave2 40942911.938428 41143983.091515
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "clk_40g" -line 317 -pos 1 -win $_nTrace1
-srcAddSelectedToWave -clipboard -win $_nTrace1
-wvDrop -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoom -win $_nWave2 41008210.638515 41012629.784736
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 41008955.682538 -snap {("G1" 2)}
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41008822.775885 41009022.135865
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetMarker -win $_nWave2 41008956.000000
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 42486225.797925 -snap {("G1" 2)}
-wvSetCursor -win $_nWave2 42554234.647431 -snap {("G1" 1)}
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 42415949.986766 42710655.001293
-wvZoom -win $_nWave2 42546342.893708 42554183.512949
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 40941253.858767 41020195.154171
-wvSetCursor -win $_nWave2 41011976.858517 -snap {("G1" 1)}
-wvZoom -win $_nWave2 41011520.286537 41012159.487309
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSignalReport -win $_nWave2 -add "\{/TB/clk_40g\}"
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41008897.123387 41009021.340541
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvSetCursor -win $_nWave2 41008953.448567 -snap {("G1" 1)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 41011982.400181 -snap {("G1" 1)}
-wvZoom -win $_nWave2 41011936.420436 41012032.977900
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41008843.035374 41009014.593807
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41008954.662459 41008957.539957
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "G1" 1 )}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 41010247.883246 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41008945.876018 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41011972.531564 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41012054.333065 -snap {("G1" 0)}
-wvSetCursor -win $_nWave2 41012272.470402 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41011992.981939 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41011740.760644 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41011972.531564 -snap {("G1" 1)}
-wvSetCursor -win $_nWave2 41012279.287194 -snap {("G1" 1)}
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetMarker -win $_nWave2 41010540.000000
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvSetMarker -win $_nWave2 41008980.000000
-wvZoomOut -win $_nWave2
-wvSetMarker -win $_nWave2 41008956.000000
-wvSetCursor -win $_nWave2 41012780.321384 -snap {("G1" 1)}
-wvZoom -win $_nWave2 41008840.215741 41009044.719494
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41011890.917325 41012034.744141
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvSetCursor -win $_nWave2 41012005.837356 -snap {("G1" 1)}
-wvBusWaveform -win $_nWave2 -digital
-wvSetPosition -win $_nWave2 {("G1" 2)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 41011538.920109 -snap {("G2" 0)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 41008848.385399 41009114.577307
-wvSetCursor -win $_nWave2 41008931.830164 -snap {("G1" 2)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-debExit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/verdi_perf_err.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdiLog/verdi_perf_err.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.log b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.log
deleted file mode 100644
index 488ef27..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.log
+++ /dev/null
@@ -1,2 +0,0 @@
-File Name Time
-./verdplus_000.fsdb 0 to 228,913,152
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.vf b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.vf
deleted file mode 100644
index 1ef6a51..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus.vf
+++ /dev/null
@@ -1,7 +0,0 @@
-@FSDB rc file Version 1.0
-[VRTL_FILE_HEADER]
-# !! DON'T EDIT [VRTL_FILE_HEADER] SESSION !!
-Version = 1
-[VRTL_FILE_SOURCE]
-FileType = switch
-File1 = ./verdplus_000.fsdb
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb b/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb
deleted file mode 100644
index b11782c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/flattop/verdplus_000.fsdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/cm.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/cm.log
deleted file mode 100644
index 7c1df55..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/cm.log
+++ /dev/null
@@ -1,1428 +0,0 @@
-: // Synopsys, Inc.
-: //
-
-: // Generated by: VCS Coverage Metrics O-2018.09-SP2_Full64
-: // User: shbyang
-: // Date: Sat Mar 14 17:19:37 2026
-
-: Disabling fsm sequence coverage for module \$unit::../../lib/tphn28hpcpgv18.v::../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v...@348857874 ...
-: Disabling fsm sequence coverage for module PCLAMP_G ...
-: Disabling fsm sequence coverage for module PCLAMPC_H_G ...
-: Disabling fsm sequence coverage for module PCLAMPC_V_G ...
-: Disabling fsm sequence coverage for module PDB3A_H_G ...
-: Disabling fsm sequence coverage for module PDB3A_V_G ...
-: Disabling fsm sequence coverage for module PDB3AC_H_G ...
-: Disabling fsm sequence coverage for module PDB3AC_V_G ...
-: Disabling fsm sequence coverage for module PDDW04DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW04DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW04SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDDW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDDW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW04DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW04DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW04SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PDUW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PDUW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PDXOEDG_H_G ...
-: Disabling fsm sequence coverage for module PDXOEDG_V_G ...
-: Disabling fsm sequence coverage for module PENDCAP_G ...
-: Disabling fsm sequence coverage for module PENDCAPA_G ...
-: Disabling fsm sequence coverage for module PRCUT_G ...
-: Disabling fsm sequence coverage for module PRCUTA_G ...
-: Disabling fsm sequence coverage for module PRDW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRDW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRDW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW08DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW08DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW08SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW08SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW12DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW12DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW12SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW12SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW16DGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW16DGZ_V_G ...
-: Disabling fsm sequence coverage for module PRUW16SDGZ_H_G ...
-: Disabling fsm sequence coverage for module PRUW16SDGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD1A_H_G ...
-: Disabling fsm sequence coverage for module PVDD1A_V_G ...
-: Disabling fsm sequence coverage for module PVDD1AC_H_G ...
-: Disabling fsm sequence coverage for module PVDD1AC_V_G ...
-: Disabling fsm sequence coverage for module PVDD1ANA_H_G ...
-: Disabling fsm sequence coverage for module PVDD1ANA_V_G ...
-: Disabling fsm sequence coverage for module PVDD1DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVDD1DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD2ANA_H_G ...
-: Disabling fsm sequence coverage for module PVDD2ANA_V_G ...
-: Disabling fsm sequence coverage for module PVDD2DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVDD2DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVDD2POC_H_G ...
-: Disabling fsm sequence coverage for module PVDD2POC_V_G ...
-: Disabling fsm sequence coverage for module PVDD3A_H_G ...
-: Disabling fsm sequence coverage for module PVDD3A_V_G ...
-: Disabling fsm sequence coverage for module PVDD3AC_H_G ...
-: Disabling fsm sequence coverage for module PVDD3AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS1A_H_G ...
-: Disabling fsm sequence coverage for module PVSS1A_V_G ...
-: Disabling fsm sequence coverage for module PVSS1AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS1AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS1ANA_H_G ...
-: Disabling fsm sequence coverage for module PVSS1ANA_V_G ...
-: Disabling fsm sequence coverage for module PVSS1DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS1DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVSS2A_H_G ...
-: Disabling fsm sequence coverage for module PVSS2A_V_G ...
-: Disabling fsm sequence coverage for module PVSS2AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS2AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS2ANA_H_G ...
-: Disabling fsm sequence coverage for module PVSS2ANA_V_G ...
-: Disabling fsm sequence coverage for module PVSS2DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS2DGZ_V_G ...
-: Disabling fsm sequence coverage for module PVSS3A_H_G ...
-: Disabling fsm sequence coverage for module PVSS3A_V_G ...
-: Disabling fsm sequence coverage for module PVSS3AC_H_G ...
-: Disabling fsm sequence coverage for module PVSS3AC_V_G ...
-: Disabling fsm sequence coverage for module PVSS3DGZ_H_G ...
-: Disabling fsm sequence coverage for module PVSS3DGZ_V_G ...
-: Disabling fsm sequence coverage for module sirv_gnrl_xchecker ...
-: Disabling fsm sequence coverage for module sirv_gnrl_dffl ...
-: Disabling fsm sequence coverage for module sirv_gnrl_ltch ...
-: Disabling fsm sequence coverage for module clk_gen ...
-: Disabling fsm sequence coverage for module reset_tb ...
-: Disabling fsm sequence coverage for module TB ...
-: Disabling fsm sequence coverage for module TB.clk_inst ...
-: Disabling fsm sequence coverage for module TB.clk_40g_inst ...
-: Disabling fsm sequence coverage for module TB.spi_bus ...
-: Disabling fsm sequence coverage for module TB.lvds_bus ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_async_rstn ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDDW04SDGZ_V_G_sync_in ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDDW08SDGZ_V_G_sync_out ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW04SDGZ_V_G_sclk ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW04SDGZ_V_G_csn ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_mosi ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_miso ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_irq ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.mst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.cmd_or_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.second_falling_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.wnr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_m5b_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_l8b_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.chipid_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.rddata_update_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.oen_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.miso_reg_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[0].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[1].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[2].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[3].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[4].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[5].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[6].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[7].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[8].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[9].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[10].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[11].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[12].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[13].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[14].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[15].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[16].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[17].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[18].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[19].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[20].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[21].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[22].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[23].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[24].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[25].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[26].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[27].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[28].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[29].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[30].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[31].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.sclk_reg_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.csn_reg_dffrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.mosi_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_vld_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cmd_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_vld_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.second_falling_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.addr_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wrdata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rden_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rddata_reg_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_dout_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.oen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[0].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[1].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[2].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[3].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[4].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[5].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[6].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[7].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[8].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[9].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[10].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[11].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[12].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[13].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[14].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[15].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[16].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[17].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[18].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[19].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[20].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[21].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[22].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[23].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[24].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[25].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[26].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[27].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[28].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[29].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[30].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[31].spi_din_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.rwaddr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wrdata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wren_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.reen_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.testr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sfrtr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sync_oen_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rampctr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.ramp_ifs_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.doselr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsftr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstfr_dfflrs ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstsr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsthr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstamr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsdser_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstaor_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.llvdssr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfcsr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdscecr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfstr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdststr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.imr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sys_soft_rstn_r_dffls ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rddata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.train_ready_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.crc_error_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cphase_adj_req_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.link_down_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_full_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_empty_r_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.isr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.misr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.irq_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch0_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch1_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch2_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch3_rstn_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_SYNC_CLR_S ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK.SIM ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_SYNC ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.delay_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefilling_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_done_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane0_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane1_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane2_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane3_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.bit_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_counter_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.delay_tap_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.tap_adj_req_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.link_down_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_ready_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_buf_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_head_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_counter_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.valid_int_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.descram_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_in_reg_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_status_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u0 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u1 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u2 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u3 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram.bhv_spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_fifo_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_word_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_len_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_cnt_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_offset_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.block_done_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.base_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_r_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.byte_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_done_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_crc32 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_clear_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_error_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_status_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[0].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[1].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[2].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[3].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[4].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[5].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[6].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[7].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[8].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[9].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[10].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[11].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[12].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[13].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[14].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[15].cur_block_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[0].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[1].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[2].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[3].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[4].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[5].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[6].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[7].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[8].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[9].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[10].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[11].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[12].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[13].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[14].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[15].cur_block_mask_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.data_temp0_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.SYNCER[1].data_tempn0_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.sync_out_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.pulse_inst_sync ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.sync_start_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.state_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.cycle_num_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.base_addr_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_leng_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_leng_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.addr_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_cnt_c_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_addr_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_sram_rd_en_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_wave_data_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_rddata_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_n_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_valid_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_data_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram.bhv_spram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxin ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxout ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.U_sram_dmux_w ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_ramp_gen ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.dacif_vld_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[0].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[1].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[2].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[3].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[4].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[5].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[6].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[7].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[8].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[9].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[10].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[11].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[12].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[13].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[14].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[15].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[16].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[17].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[18].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[19].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[20].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[21].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[22].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[23].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[24].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[25].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[26].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[27].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[28].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[29].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[30].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[31].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[32].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[33].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[34].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[35].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[36].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[37].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[38].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[39].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[40].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[41].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[42].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[43].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[44].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[45].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[46].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[47].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[48].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[49].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[50].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[51].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[52].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[53].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[54].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[55].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[56].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[57].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[58].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[59].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[60].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[61].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[62].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[63].mux_dfflr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[0].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[1].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[2].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[3].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[4].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[5].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[6].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[7].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[8].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[9].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[10].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[11].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[12].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[13].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[14].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[15].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[16].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[17].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[18].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[19].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[20].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[21].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[22].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[23].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[24].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[25].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[26].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[27].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[28].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[29].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[30].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[31].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[32].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[33].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[34].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[35].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[36].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[37].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[38].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[39].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[40].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[41].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[42].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[43].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[44].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[45].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[46].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[47].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[48].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[49].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[50].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[51].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[52].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[53].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[54].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[55].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[56].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[57].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[58].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[59].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[60].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[61].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[62].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[63].dout_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rtermr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.prbsr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set0r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set1r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set2r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set3r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set4r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set5r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set6r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set7r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set8r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set9r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set10r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set11r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set12r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set13r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set14r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set15r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set16r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set17r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set18r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set19r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set20r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set21r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set22r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set23r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set24r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set25r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set26r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set27r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set28r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set29r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set30r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set31r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casaddrr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casdwr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.imctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.ibleedctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.iclkcmlr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rddata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrstnr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.cclkdccenr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.casclkctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccaldccqecpir_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalqecctr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.biasct3r_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalpictr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalcrossctr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck10gdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck2p5gdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck625mdr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2sdataenr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enallpr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enpipr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.clkdivrstnr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr0_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr1_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ckrxswr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rstckr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ctrzinr_dfflrd ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rddata_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[0] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[1] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[2] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.digital_top.slv[3] ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.DEM_VLD_dffr ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_0 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_1 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_2 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_3 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_4 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_5 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_6 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_7 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_8 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_9 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_10 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_11 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_12 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_13 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_14 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_15 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_16 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_17 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_18 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_19 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_20 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_21 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_22 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_23 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_24 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_25 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_26 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_27 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_28 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_29 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_30 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_31 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_32 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_33 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_34 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_35 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_36 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_37 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_38 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_39 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_40 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_41 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_42 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_43 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_44 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_45 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_46 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_47 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_48 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_49 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_50 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_51 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_52 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_53 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_54 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_55 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_56 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_57 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_58 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_59 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_60 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_61 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_62 ...
-: Disabling fsm sequence coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_63 ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[0].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[1].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[2].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[3].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[4].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[5].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[6].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[7].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[8].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[9].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[10].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[11].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[12].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[13].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[14].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[15].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[16].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[17].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[18].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[19].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[20].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[21].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[22].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[23].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[24].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[25].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[26].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[27].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[28].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[29].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[30].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk1[31].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[32].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[33].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[34].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[35].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[36].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[37].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[38].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[39].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[40].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[41].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[42].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[43].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[44].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[45].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[46].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[47].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[48].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[49].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[50].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[51].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[52].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[53].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[54].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[55].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[56].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[57].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[58].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[59].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[60].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[61].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[62].U_DEM_Reverse ...
-: Disabling fsm sequence coverage for module TB.U_DEM_Reverse_64CH.genblk2[63].U_DEM_Reverse ...
-: Starting toggle coverage for module sirv_gnrl_xchecker
-: Starting toggle coverage for module sirv_gnrl_dffl
-: Starting toggle coverage for module sirv_gnrl_ltch
-: Starting toggle coverage for module clk_gen
-: Starting toggle coverage for module reset_tb
-: Starting toggle coverage for module TB
-: Starting toggle coverage for module TB.clk_inst
-: Starting toggle coverage for module TB.clk_40g_inst
-: Starting toggle coverage for module TB.spi_bus
-: Starting toggle coverage for module TB.lvds_bus
-: Starting toggle coverage for module TB.U_da4008_chip_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_iopad
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.mst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.bit_cnt_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.cmd_or_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.second_falling_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.wnr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_m5b_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_l8b_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.chipid_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.rddata_update_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.addr_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.oen_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.miso_reg_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[0].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[1].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[2].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[3].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[4].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[5].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[6].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[7].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[8].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[9].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[10].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[11].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[12].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[13].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[14].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[15].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[16].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[17].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[18].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[19].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[20].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[21].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[22].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[23].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[24].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[25].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[26].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[27].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[28].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[29].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[30].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_pll.spi_pll_recv[31].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.sclk_reg_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.csn_reg_dffrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.mosi_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_vld_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.initaddr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.cmd_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_vld_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.chipid_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.second_falling_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.addr_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wrdata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rden_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.rddata_reg_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_dout_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.oen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[0].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[1].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[2].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[3].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[4].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[5].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[6].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[7].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[8].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[9].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[10].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[11].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[12].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[13].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[14].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[15].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[16].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[17].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[18].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[19].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[20].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[21].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[22].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[23].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[24].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[25].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[26].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[27].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[28].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[29].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[30].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_slave.U_spi_sys.spi_sys_recv[31].spi_din_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[0].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[1].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[2].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.rwaddr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wrdata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.wren_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_spi_bus_decoder.MAIN[3].CMD_REG.reen_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.testr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sfrtr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.syncr16_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sync_oen_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rampctr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.ramp_ifs_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.doselr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsftr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstfr_dfflrs
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstsr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsthr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstamr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsdser_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdstaor_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.llvdssr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfcsr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdscecr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdsfstr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.lvdststr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.imr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.sys_soft_rstn_r_dffls
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.rddata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.train_ready_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.crc_error_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cphase_adj_req_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.link_down_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_full_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.cmd_fifo_empty_r_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.isr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.misr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_systemregfile.irq_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch0_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch1_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch2_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_rst_gen_unit.ch3_rstn_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_SRC_INIT.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_SYNC_CLR_S
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_DEST_INIT.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_FB_DEST.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_RST_SYNC.U_PS_ACK.SIM
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.u_dw_stream_sync.U_SYNC
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.delay_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefilling_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.U_prefill.prefill_done_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane0_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane1_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane2_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.lane3_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.bit_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_counter_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.delay_tap_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.tap_adj_req_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.link_down_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_ready_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_buf_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.match_head_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_counter_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.valid_int_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.descram_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.data_in_reg_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_train.train_status_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u0
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u1
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u2
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_descrambler.u3
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_fifo.spram.bhv_spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_fifo_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.current_word_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.word_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_len_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.data_cnt_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_offset_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.block_done_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.base_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.cur_block_addr_r_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.byte_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.wr_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_done_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.u_crc32
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_clear_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.crc_error_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.frame_status_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[0].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[1].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[2].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[3].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[4].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[5].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[6].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[7].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[8].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[9].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[10].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[11].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[12].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[13].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[14].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_block_data[15].cur_block_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[0].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[1].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[2].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[3].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[4].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[5].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[6].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[7].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[8].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[9].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[10].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[11].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[12].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[13].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[14].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dut.u_frame.gen_mask[15].cur_block_mask_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.data_temp0_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_in_syncer.SYNCER[1].data_tempn0_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.sync_out_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.pulse_inst_sync
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.sync_start_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.state_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.cycle_num_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.base_addr_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_leng_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_leng_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.addr_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_cnt_c_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.sram_rd_addr_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_sram_rd_en_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_wave_data_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.last_rddata_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_n_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.hold_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_valid_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst.wave_data_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.cmd_fifo_inst.spram.bhv_spram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxin
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_sram_muxout
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.U_sram_dmux_w
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[0].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U0_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U1_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U2_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_awg_top.wave_dpram.U_tsmc_dpram.spram_512X8192_generation.genblk2[1].U3_tsdn28hpcpuhdb4096x128m4mw_170a.MX
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_ramp_gen
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.dacif_vld_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[0].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[1].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[2].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[3].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[4].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[5].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[6].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[7].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[8].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[9].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[10].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[11].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[12].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[13].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[14].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[15].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[16].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[17].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[18].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[19].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[20].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[21].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[22].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[23].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[24].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[25].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[26].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[27].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[28].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[29].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[30].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[31].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[32].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[33].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[34].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[35].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[36].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[37].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[38].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[39].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[40].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[41].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[42].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[43].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[44].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[45].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[46].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[47].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[48].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[49].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[50].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[51].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[52].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[53].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[54].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[55].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[56].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[57].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[58].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[59].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[60].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[61].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[62].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk1[63].mux_dfflr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[0].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[1].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[2].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[3].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[4].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[5].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[6].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[7].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[8].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[9].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[10].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[11].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[12].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[13].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[14].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[15].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[16].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[17].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[18].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[19].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[20].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[21].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[22].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[23].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[24].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[25].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[26].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[27].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[28].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[29].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[30].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[31].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[32].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[33].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[34].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[35].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[36].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[37].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[38].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[39].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[40].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[41].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[42].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[43].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[44].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[45].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[46].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[47].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[48].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[49].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[50].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[51].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[52].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[53].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[54].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[55].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[56].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[57].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[58].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[59].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[60].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[61].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[62].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.dacif_inst.genblk2[63].dout_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rtermr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.prbsr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set0r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set1r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set2r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set3r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set4r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set5r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set6r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set7r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set8r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set9r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set10r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set11r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set12r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set13r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set14r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set15r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set16r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set17r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set18r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set19r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set20r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set21r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set22r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set23r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set24r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set25r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set26r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set27r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set28r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set29r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set30r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.set31r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casaddrr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.casdwr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.imctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.ibleedctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.iclkcmlr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.currsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_dac_regfile.rddata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrstnr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.cclkdccenr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.casclkctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccaldccqecpir_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalqecctr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.biasct3r_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalpictr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalcrossctr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ccalrsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck10gdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck2p5gdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.selck625mdr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2sdataenr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enallpr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.enpipr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.clkdivrstnr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr0_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.p2srsvr1_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ckrxswr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rstckr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.ctrzinr_dfflrd
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.U_clk_regfile.rddata_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[0]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[1]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[2]
-: Starting toggle coverage for module TB.U_da4008_chip_top.digital_top.slv[3]
-: Starting toggle coverage for module TB.U_da4008_chip_top.DEM_VLD_dffr
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_0
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_1
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_2
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_3
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_4
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_5
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_6
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_7
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_8
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_9
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_10
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_11
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_12
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_13
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_14
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_15
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_16
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_17
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_18
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_19
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_20
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_21
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_22
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_23
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_24
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_25
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_26
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_27
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_28
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_29
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_30
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_31
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_32
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_33
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_34
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_35
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_36
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_37
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_38
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_39
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_40
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_41
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_42
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_43
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_44
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_45
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_46
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_47
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_48
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_49
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_50
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_51
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_52
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_53
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_54
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_55
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_56
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_57
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_58
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_59
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_60
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_61
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_62
-: Starting toggle coverage for module TB.U_da4008_chip_top.U_DEM_PhaseSync_4008.inst_dem_64ch.inst_dem_63
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[0].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[1].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[2].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[3].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[4].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[5].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[6].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[7].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[8].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[9].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[10].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[11].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[12].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[13].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[14].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[15].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[16].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[17].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[18].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[19].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[20].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[21].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[22].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[23].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[24].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[25].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[26].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[27].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[28].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[29].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[30].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk1[31].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[32].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[33].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[34].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[35].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[36].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[37].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[38].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[39].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[40].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[41].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[42].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[43].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[44].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[45].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[46].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[47].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[48].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[49].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[50].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[51].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[52].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[53].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[54].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[55].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[56].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[57].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[58].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[59].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[60].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[61].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[62].U_DEM_Reverse
-: Starting toggle coverage for module TB.U_DEM_Reverse_64CH.genblk2[63].U_DEM_Reverse
-: Reporting line coverage at the end of simulation ...
-: End of Line Coverage ...
-: Reporting condition coverage at the end of simulation ...
-: End of Condition Coverage ...
-: Reporting branch coverage at the end of simulation ...
-: End of Branch Coverage ...
-: Coverage status: End of All Coverages ...
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_syn.f b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_syn.f
deleted file mode 100644
index 59d68ec..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/filelist_syn.f
+++ /dev/null
@@ -1,23 +0,0 @@
-../../../../rtl/define/chip_define.v
-../../../../sim/chip_top/TB.sv
-../../../../model/spi_if.sv
-../../../../model/DW01_addsub.v
-../../../../model/DW02_mult.v
-../../../../model/DW_mult_pipe.v
-../../../../model/clk_gen.v
-../../../../model/clock_tb.v
-../../../../model/reset_tb.v
-../../../../model/thermo2binary_top.v
-../../../../model/thermo7_binary3.v
-../../../../model/thermo15_binary4.v
-../../../../model/glbl.v
-../../../../rtl/memory/tsdn28hpcpuhdb128x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb64x32m4mw_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb512x128m4mwr_170a_ffg0p99v0c.v
-../../../../rtl/memory/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-../../../../rtl/dem/DEM_31MSB_decoder_1ch.v
-../../../../rtl/dem/DEM_31MSB_decoder_16ch_XY.v
-/data/pdk/TSMCHOME/digital/Front_End/verilog/tphn28hpcpgv18_110a/tphn28hpcpgv18.v
-../../../../lib/tcbn28hpcplusbwp7t35p140.v
-../../../../syn/current/outputs/xyz_chip_top.syn.v
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc
deleted file mode 100644
index 0440fde..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc
+++ /dev/null
@@ -1,85 +0,0 @@
-Magic 271485
-Revision Verdi_O-2018.09-SP2
-
-; Window Layout
-viewPort 0 27 1920 392 256 65
-
-; File list:
-; openDirFile [-d delimiter] [-s time_offset] [-rf auto_bus_rule_file] path_name file_name
-openDirFile -d / "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb"
-
-; file time scale:
-; fileTimeScale ### s|ms|us|ns|ps
-
-; signal spacing:
-signalSpacing 5
-
-; windowTimeUnit is used for zoom, cursor & marker
-; waveform viewport range
-zoom 0.000000 13227140.194787
-cursor 1165056.000000
-marker 6998784.000000
-
-; user define markers
-; userMarker time_pos marker_name color linestyle
-; visible top row signal index
-top 13
-; marker line index
-markerPos 26
-
-; event list
-; addEvent event_name event_expression
-; curEvent event_name
-
-
-
-COMPLEX_EVENT_BEGIN
-
-
-COMPLEX_EVENT_END
-
-
-
-; toolbar current search type
-; curSTATUS search_type
-curSTATUS ByChange
-
-
-addGroup "SPI" -e FALSE
-activeDirFile "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb"
-addSignal -h 15 /TB/U_da4008_chip_top/PI_sclk
-addSignal -h 15 -holdScope PI_csn
-addSignal -h 15 -holdScope PI_mosi
-addSignal -h 15 -holdScope PO_miso
-addGroup "SYS" -e FALSE
-addSignal -h 15 /TB/U_da4008_chip_top/clk
-addSignal -h 15 -holdScope PI_async_rstn
-addSignal -h 15 -holdScope PI_sync_in
-addSignal -h 15 -holdScope PO_sync_out
-addSignal -h 15 -holdScope PO_irq
-addGroup "LVDS"
-addSignal -h 15 /TB/U_da4008_chip_top/lvds_clk[0:0]
-addSignal -h 15 -holdScope lvds_data[3:0]
-addSignal -h 15 -holdScope lvds_valid[0:0]
-addGroup "DAC" -e FALSE
-addSignal -w analog -ds pwc -h 98 /TB/cs_wave[7:0]
-addSignal -h 15 /TB/U_da4008_chip_top/MSB_OUT[63:0]
-addSignal -h 15 -holdScope LSB_OUT[63:0]
-addSignal -h 15 -holdScope MSB_DUM[63:0]
-addSignal -h 15 -holdScope DEM_VLD
-addGroup "A_sram"
-addSignal -h 15 /TB/U_da4008_chip_top/digital_top/wave_awrdata[511:0]
-addSignal -h 15 -holdScope wave_awren[0:0]
-addSignal -h 15 -holdScope wave_arwaddr[12:0]
-addSignal -h 15 -holdScope wave_awrmask[63:0]
-addGroup "B_sram"
-addSignal -h 15 /TB/U_da4008_chip_top/digital_top/slv[2]/din[31:0]
-addSignal -h 15 -holdScope wren
-addSignal -h 15 -holdScope addr[18:0]
-addSignal -h 15 -holdScope rden
-addSignal -h 15 -holdScope dout[31:0]
-addGroup "G7"
-
-; getSignalForm Scope Hierarchy Status
-; active file of getSignalForm
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.conf b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.conf
deleted file mode 100644
index 071fb06..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.conf
+++ /dev/null
@@ -1,585 +0,0 @@
-[qBaseWindowStateGroup]
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x2\x2\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2z\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x2\x15\0\0\x1=\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x2\x80\0\0\x5\0\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\x1`\xfc\x1\0\0\0\x1\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\0\0\a\x80\0\0\0\xa0\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3g\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\size=@Size(1920 977)
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_x=-1
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_y=27
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_width=1920
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_height=977
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1@\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x1\xdb\0\0\x3\xc5\0\0\0k\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\x5\xa0\0\0\x1?\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\size=@Size(1440 723)
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_x=233
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_y=197
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_width=1440
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_height=723
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\size=@Size(1920 977)
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_x=-10
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_y=20
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_width=1920
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_height=977
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_3\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_3\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_3\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_3\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_3\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\0\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3U\0\0\x1\x64\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\x15\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\x1b\0\0\x2:\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3U\0\0\0\x84\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3U\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\x3U\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\0\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\0\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\size=@Size(853 572)
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_width=853
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_height=572
-Verdi_1\qBaseWindowNextStateGroup\1\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\1\Layout="@ByteArray(\0\0\0\xff\0\0\0\x1\xfd\0\0\0\x2\0\0\0\x2\0\0\x3U\0\0\x1K\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\x15\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\x1b\0\0\x2:\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3U\0\0\0\x9d\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3U\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3U\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\1\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\size=@Size(853 572)
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_width=853
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_height=572
-Verdi_1\qBaseWindowNextStateGroup\2\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\2\Layout="@ByteArray(\0\0\0\xff\0\0\0\x2\xfd\0\0\0\x2\0\0\0\x2\0\0\x3U\0\0\x1K\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\x15\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\x1b\0\0\x2:\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3U\0\0\0\x9d\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3U\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\0\0k\0\0\x3U\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\2\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\size=@Size(853 572)
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_width=853
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_height=572
-Verdi_1\qBaseWindowNextStateGroup\3\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\3\Layout="@ByteArray(\0\0\0\xff\0\0\0\x3\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x2\xe2\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\0\x9b\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\3\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\3\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\size=@Size(1920 977)
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_width=1920
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_height=977
-Verdi_1\qBaseWindowNextStateGroup\4\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\4\Layout="@ByteArray(\0\0\0\xff\0\0\0\x4\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x2\xe2\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\0\x9b\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\4\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\4\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\size=@Size(1920 977)
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_width=1920
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_height=977
-Verdi_1\qBaseWindowNextStateGroup\5\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\5\Layout="@ByteArray(\0\0\0\xff\0\0\0\x5\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x2\xe2\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\a\x80\0\0\0\x9b\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\5\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\5\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\size=@Size(1920 977)
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_x=-1
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_y=27
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_width=1920
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_height=977
-Verdi_1\qBaseWindowNextStateGroup\6\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\6\Layout="@ByteArray(\0\0\0\xff\0\0\0\x6\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1\x93\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xdb\0\0\x3\xc5\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\xa0\0\0\0\xec\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\6\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\6\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\size=@Size(1440 723)
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_x=239
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_y=111
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_width=1440
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_height=723
-Verdi_1\qBaseWindowNextStateGroup\7\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\7\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\7\Layout="@ByteArray(\0\0\0\xff\0\0\0\a\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1\x93\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xdb\0\0\x3\xc5\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\xa0\0\0\0\xec\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\0\0\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\0\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\7\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\7\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\size=@Size(1440 723)
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_x=260
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_y=284
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_width=1440
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_height=723
-Verdi_1\qBaseWindowNextStateGroup\8\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\8\Layout="@ByteArray(\0\0\0\xff\0\0\0\b\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1\x93\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xdb\0\0\x3\xc5\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\xa0\0\0\0\xec\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\8\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\8\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\size=@Size(1440 723)
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_x=260
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_y=284
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_width=1440
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_height=723
-Verdi_1\qBaseWindowNextStateGroup\9\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\9\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\9\Layout="@ByteArray(\0\0\0\xff\0\0\0\t\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x2x\0\0\x5\b\0\0\0\x90\0\0\x5\b\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x90\0\0\x5\b\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\9\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\9\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\size=@Size(1920 977)
-Verdi_1\qBaseWindowNextStateGroup\9\geometry_x=-10
-Verdi_1\qBaseWindowNextStateGroup\9\geometry_y=20
-Verdi_1\qBaseWindowNextStateGroup\9\geometry_width=1920
-Verdi_1\qBaseWindowNextStateGroup\9\geometry_height=977
-Verdi_1\qBaseWindowNextStateGroup\10\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\10\Layout="@ByteArray(\0\0\0\xff\0\0\0\n\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1@\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x1\xdb\0\0\x3\xc5\0\0\0\x90\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\x90\0\xff\xff\xff\0\0\0\x3\0\0\x5\xa0\0\0\x1?\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\10\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\10\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\size=@Size(1440 723)
-Verdi_1\qBaseWindowNextStateGroup\10\geometry_x=251
-Verdi_1\qBaseWindowNextStateGroup\10\geometry_y=274
-Verdi_1\qBaseWindowNextStateGroup\10\geometry_width=1440
-Verdi_1\qBaseWindowNextStateGroup\10\geometry_height=723
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nEditor_3\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nEditor_3\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nEditor_3\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nEditor_3\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nEditor_3\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\9\qBaseDockWidgetGroup\windowDock_nEditor_3\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nEditor_3\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nEditor_3\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nEditor_3\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\10\qBaseDockWidgetGroup\windowDock_nEditor_3\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\11\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\11\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\11\Layout="@ByteArray(\0\0\0\xff\0\0\0\v\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\xa0\0\0\x1@\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xd5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x1\xdb\0\0\x3\xc5\0\0\0k\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\x5\xa0\0\0\x1?\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\xa0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\xa0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\11\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\11\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\11\size=@Size(1440 723)
-Verdi_1\qBaseWindowNextStateGroup\11\geometry_x=233
-Verdi_1\qBaseWindowNextStateGroup\11\geometry_y=197
-Verdi_1\qBaseWindowNextStateGroup\11\geometry_width=1440
-Verdi_1\qBaseWindowNextStateGroup\11\geometry_height=723
-
-[QwMainWindow]
-window\Verdi_1\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\Verdi_1\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\xff\xff\xff\xf6\0\0\0\x14\0\0\a\x89\0\0\x4\x1b\0\0\0\0\0\0\0\0\xff\xff\xff\xfe\xff\xff\xff\xfe\0\0\0\0\x2\0)
-window\Verdi_1\menubar=true
-window\Verdi_1\splitters\tbvConstrDbgSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x8d\0\0\0\x8d\x1\0\0\0\x6\x1\0\0\0\x1)
-window\Verdi_1\splitters\tbvConstrRerandSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0G\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvConstrOriginSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0!\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\ThreadPane\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x37\0\0\0\x37\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvInteractiveSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvVSimSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvTBHSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0-\0\0\0?\x1\0\0\0\x6\x1\0\0\0\x2)
-window\nWave_2\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\a\x80\0\0\x1V\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\x99\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x3@\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3\x35\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x3\xa7\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x3\xd5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\nWave_2\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1\xa2\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1\xa2\0\0\0\0\0\0)
-window\nWave_2\menubar=true
-window\nWave_2\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\xd7\x1\0\0\0\x1\0\0\0\0\x2)
-window\nWave_2\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\x1\0\0\0\x4\xa0\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0\x41\0\0\0\x1\0\0\x4\\\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\x1\0\0\0\x6}\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0O\0\0\0\xa3\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x1)
-window\nWave_2\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\nWave_3\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\a\x80\0\0\x1\x3\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2W\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\xb1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x5H\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3M\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x5\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x6\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\nWave_3\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1O\0\0\0\0\0\0\0\x1b\0\0\a\x7f\0\0\x1O\0\0\0\0\0\0)
-window\nWave_3\menubar=true
-window\nWave_3\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\x1\x5\x1\0\0\0\x1\0\0\0\0\x2)
-window\nWave_3\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x98\0\0\x6\xe8\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_3\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0\x41\0\0\0\x1\0\0\x6\xa4\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_3\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_3\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_3\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x6\x1\0\0\0\x1)
-window\nWave_3\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\xff\xff\xff\xff\xff\xff\xff\xff\x1\0\0\0\x6\x1\0\0\0\x2)
-window\nEditor_3\layout=@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\x3\xc5\0\0\0\xda\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\x16\0\x66\0i\0l\0\x65\0T\0o\0o\0l\0\x42\0\x61\0r\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0\x65\0\x64\0i\0t\0T\0o\0o\0l\0\x62\0\x61\0r\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1a\0s\0\x65\0\x61\0r\0\x63\0h\0T\0o\0o\0l\0\x62\0\x61\0r\x1\0\0\0\xd5\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
-window\nEditor_3\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\x3\xc4\0\0\x1&\0\0\0\0\0\0\0\x1b\0\0\x3\xc4\0\0\x1&\0\0\0\0\0\0)
-window\nEditor_3\menubar=true
-
-[qBaseWindow_saveRestoreSession_group]
-10=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses
-
-[qDockerWindow_C]
-Verdi_1\position.x=-10
-Verdi_1\position.y=20
-Verdi_1\width=1920
-Verdi_1\height=977
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.rc b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.rc
deleted file mode 100644
index f21cbb6..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas.rc
+++ /dev/null
@@ -1,1319 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[FileBrowser]
-nWaveRestoreRCDirHistory = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc\""
-[Form]
-version = Verdi_O-2018.09-SP2
-wave/sigCPL.fm = 100,100,243,333
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-Wave_getsignal_form_font = -f COURIER12
-Text_annotFont = Helvetica_M_R_10
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-qWaveSignalDialog = 559,313,800,479
-EventReportDialog = 599,412,720,280
-SetWindowTimeUnitDialog = 742,509,433,86
-restoreSigDlg = 683,333,551,438
-saveSigDlg = 674,352,551,386
-QwWarnMsgDlg = 659,483,600,250
-QwUserAskDlg = 798,487,324,134
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses
-2 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VCS
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[TestBenchBrowser]
--showUVMDynamicHierTreeWin = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_BLACK
-hdlPslComment = ID_BLACK
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = -10 20 1920 977 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-scope_to_save_with_macro
-open_file_dir
-open_rc_file_dir
-getSignalForm = 559 276 800 479 245 381 505 183
-viewPort = 0 27 1920 392 256 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busXLayer = -c ID_RED5
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-RecentFile1 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc\""
-RecentFile2 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb\""
-open_file_time_range = FALSE
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-NameRule =
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 0 27 1920 392 256 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas_dump.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas_dump.log
deleted file mode 100644
index 897c3ce..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/novas_dump.log
+++ /dev/null
@@ -1,408 +0,0 @@
-#######################################################################################
-# log primitive debug message of FSDB dumping #
-# This is for R&D to analyze when there are issues happening when FSDB dump #
-#######################################################################################
-ANF: vcsd_get_serial_mode_status('./simv: undefined symbol: vcsd_get_serial_mode_status')
-ANF: vcsd_enable_sva_success_callback('./simv: undefined symbol: vcsd_enable_sva_success_callback')
-ANF: vcsd_disable_sva_success_callback('./simv: undefined symbol: vcsd_disable_sva_success_callback')
-ANF: vcsd_get_power_scope_name('./simv: undefined symbol: vcsd_get_power_scope_name')
-ANF: vcsd_begin_no_value_var_info('./simv: undefined symbol: vcsd_begin_no_value_var_info')
-ANF: vcsd_end_no_value_var_info('./simv: undefined symbol: vcsd_end_no_value_var_info')
-ANF: vcsd_remove_xprop_merge_mode_callback('./simv: undefined symbol: vcsd_remove_xprop_merge_mode_callback')
-ANF: vhpi_get_cb_info('./simv: undefined symbol: vhpi_get_cb_info')
-ANF: vhpi_free_handle('./simv: undefined symbol: vhpi_free_handle')
-ANF: vhpi_fetch_vcsd_handle('./simv: undefined symbol: vhpi_fetch_vcsd_handle')
-ANF: vhpi_fetch_vpi_handle('./simv: undefined symbol: vhpi_fetch_vpi_handle')
-ANF: vhpi_has_verilog_parent('./simv: undefined symbol: vhpi_has_verilog_parent')
-ANF: vhpi_is_verilog_scope('./simv: undefined symbol: vhpi_is_verilog_scope')
-ANF: scsd_xprop_is_enabled('./simv: undefined symbol: scsd_xprop_is_enabled')
-ANF: scsd_xprop_sig_is_promoted('./simv: undefined symbol: scsd_xprop_sig_is_promoted')
-ANF: scsd_xprop_int_xvalue('./simv: undefined symbol: scsd_xprop_int_xvalue')
-ANF: scsd_xprop_bool_xvalue('./simv: undefined symbol: scsd_xprop_bool_xvalue')
-ANF: scsd_xprop_enum_xvalue('./simv: undefined symbol: scsd_xprop_enum_xvalue')
-ANF: scsd_xprop_register_merge_mode_cb('./simv: undefined symbol: scsd_xprop_register_merge_mode_cb')
-ANF: scsd_xprop_delete_merge_mode_cb('./simv: undefined symbol: scsd_xprop_delete_merge_mode_cb')
-ANF: scsd_xprop_get_merge_mode('./simv: undefined symbol: scsd_xprop_get_merge_mode')
-ANF: scsd_thread_get_info('./simv: undefined symbol: scsd_thread_get_info')
-ANF: scsd_thread_vc_init('./simv: undefined symbol: scsd_thread_vc_init')
-ANF: scsd_master_set_delta_sync_cbk('./simv: undefined symbol: scsd_master_set_delta_sync_cbk')
-ANF: scsd_fgp_get_fsdb_cores('./simv: undefined symbol: scsd_fgp_get_fsdb_cores')
-ANF: msvEnableDumpingMode('./simv: undefined symbol: msvEnableDumpingMode')
-ANF: msvGetVersion('./simv: undefined symbol: msvGetVersion')
-ANF: msvGetInstProp('./simv: undefined symbol: msvGetInstProp')
-ANF: msvIsSpiceEngineReady('./simv: undefined symbol: msvIsSpiceEngineReady')
-ANF: msvSetAddProbeCallback('./simv: undefined symbol: msvSetAddProbeCallback')
-ANF: msvGetInstHandle('./simv: undefined symbol: msvGetInstHandle')
-ANF: msvGetProbeByInst('./simv: undefined symbol: msvGetProbeByInst')
-ANF: msvGetSigHandle('./simv: undefined symbol: msvGetSigHandle')
-ANF: msvGetProbeBySig('./simv: undefined symbol: msvGetProbeBySig')
-ANF: msvGetProbeInfo('./simv: undefined symbol: msvGetProbeInfo')
-ANF: msvRelease('./simv: undefined symbol: msvRelease')
-ANF: msvSetVcCallbackFunc('./simv: undefined symbol: msvSetVcCallbackFunc')
-ANF: msvCheckVcCallback('./simv: undefined symbol: msvCheckVcCallback')
-ANF: msvAddVcCallback('./simv: undefined symbol: msvAddVcCallback')
-ANF: msvRemoveVcCallback('./simv: undefined symbol: msvRemoveVcCallback')
-ANF: msvGetLatestValue('./simv: undefined symbol: msvGetLatestValue')
-ANF: msvSetEndofSimCallback('./simv: undefined symbol: msvSetEndofSimCallback')
-ANF: msvIgnoredProbe('./simv: undefined symbol: msvIgnoredProbe')
-ANF: msvGetThruNetInfo('./simv: undefined symbol: msvGetThruNetInfo')
-ANF: msvFreeThruNetInfo('./simv: undefined symbol: msvFreeThruNetInfo')
-ANF: PI_ace_get_output_time_unit('./simv: undefined symbol: PI_ace_get_output_time_unit')
-ANF: PI_ace_sim_sync('./simv: undefined symbol: PI_ace_sim_sync')
-ANF: msvGetRereadInitFile('./simv: undefined symbol: msvGetRereadInitFile')
-ANF: msvSetBeforeRereadCallback('./simv: undefined symbol: msvSetBeforeRereadCallback')
-ANF: msvSetAfterRereadCallback('./simv: undefined symbol: msvSetAfterRereadCallback')
-ANF: msvSetForceCallback('./simv: undefined symbol: msvSetForceCallback')
-ANF: msvSetReleaseCallback('./simv: undefined symbol: msvSetReleaseCallback')
-ANF: msvGetForceStatus('./simv: undefined symbol: msvGetForceStatus')
-ANF: vhdi_dt_get_type('./simv: undefined symbol: vhdi_dt_get_type')
-ANF: vhdi_dt_get_key('./simv: undefined symbol: vhdi_dt_get_key')
-ANF: vhdi_dt_get_vhdl_enum_info('./simv: undefined symbol: vhdi_dt_get_vhdl_enum_info')
-ANF: vhdi_dt_get_vhdl_physical_info('./simv: undefined symbol: vhdi_dt_get_vhdl_physical_info')
-ANF: vhdi_dt_get_vhdl_array_info('./simv: undefined symbol: vhdi_dt_get_vhdl_array_info')
-ANF: vhdi_dt_get_vhdl_record_info('./simv: undefined symbol: vhdi_dt_get_vhdl_record_info')
-ANF: vhdi_def_traverse_module('./simv: undefined symbol: vhdi_def_traverse_module')
-ANF: vhdi_def_traverse_scope('./simv: undefined symbol: vhdi_def_traverse_scope')
-ANF: vhdi_def_traverse_variable('./simv: undefined symbol: vhdi_def_traverse_variable')
-ANF: vhdi_def_get_module_id_by_vhpi('./simv: undefined symbol: vhdi_def_get_module_id_by_vhpi')
-ANF: vhdi_def_get_handle_by_module_id('./simv: undefined symbol: vhdi_def_get_handle_by_module_id')
-ANF: vhdi_def_get_variable_info_by_vhpi('./simv: undefined symbol: vhdi_def_get_variable_info_by_vhpi')
-ANF: vhdi_def_free('./simv: undefined symbol: vhdi_def_free')
-ANF: vhdi_ist_traverse_scope('./simv: undefined symbol: vhdi_ist_traverse_scope')
-ANF: vhdi_ist_traverse_variable('./simv: undefined symbol: vhdi_ist_traverse_variable')
-ANF: vhdi_ist_convert_by_vhpi('./simv: undefined symbol: vhdi_ist_convert_by_vhpi')
-ANF: vhdi_ist_clone('./simv: undefined symbol: vhdi_ist_clone')
-ANF: vhdi_ist_free('./simv: undefined symbol: vhdi_ist_free')
-ANF: vhdi_ist_hash_key('./simv: undefined symbol: vhdi_ist_hash_key')
-ANF: vhdi_ist_compare('./simv: undefined symbol: vhdi_ist_compare')
-ANF: vhdi_ist_get_value_addr('./simv: undefined symbol: vhdi_ist_get_value_addr')
-ANF: vhdi_set_scsd_callback('./simv: undefined symbol: vhdi_set_scsd_callback')
-ANF: vhdi_cbk_set_force_callback('./simv: undefined symbol: vhdi_cbk_set_force_callback')
-ANF: vhdi_trigger_init_force('./simv: undefined symbol: vhdi_trigger_init_force')
-ANF: vhdi_ist_check_scsd_callback('./simv: undefined symbol: vhdi_ist_check_scsd_callback')
-ANF: vhdi_ist_add_scsd_callback('./simv: undefined symbol: vhdi_ist_add_scsd_callback')
-ANF: vhdi_ist_remove_scsd_callback('./simv: undefined symbol: vhdi_ist_remove_scsd_callback')
-ANF: vhdi_ist_get_scsd_user_data('./simv: undefined symbol: vhdi_ist_get_scsd_user_data')
-ANF: vhdi_add_time_change_callback('./simv: undefined symbol: vhdi_add_time_change_callback')
-ANF: vhdi_get_real_value_by_value_addr('./simv: undefined symbol: vhdi_get_real_value_by_value_addr')
-ANF: vhdi_get_64_value_by_value_addr('./simv: undefined symbol: vhdi_get_64_value_by_value_addr')
-ANF: vhdi_xprop_inst_is_promoted('./simv: undefined symbol: vhdi_xprop_inst_is_promoted')
-ANF: vdi_ist_convert_by_vhdi('./simv: undefined symbol: vdi_ist_convert_by_vhdi')
-ANF: vhdi_ist_get_module_id('./simv: undefined symbol: vhdi_ist_get_module_id')
-ANF: vhdi_refine_foreign_scope_type('./simv: undefined symbol: vhdi_refine_foreign_scope_type')
-ANF: vhdi_flush_callback('./simv: undefined symbol: vhdi_flush_callback')
-ANF: vhdi_set_orig_name('./simv: undefined symbol: vhdi_set_orig_name')
-ANF: vhdi_set_dump_pt('./simv: undefined symbol: vhdi_set_dump_pt')
-ANF: vhdi_get_fsdb_option('./simv: undefined symbol: vhdi_get_fsdb_option')
-ANF: vhdi_fgp_get_mode('./simv: undefined symbol: vhdi_fgp_get_mode')
-ANF: vhdi_node_register_composite_var('./simv: undefined symbol: vhdi_node_register_composite_var')
-ANF: vhdi_node_analysis('./simv: undefined symbol: vhdi_node_analysis')
-ANF: vhdi_node_id('./simv: undefined symbol: vhdi_node_id')
-ANF: vhdi_node_ist_check_scsd_callback('./simv: undefined symbol: vhdi_node_ist_check_scsd_callback')
-ANF: vhdi_node_ist_add_scsd_callback('./simv: undefined symbol: vhdi_node_ist_add_scsd_callback')
-ANF: vhdi_node_ist_get_value_addr('./simv: undefined symbol: vhdi_node_ist_get_value_addr')
-VCS compile option:
- option[0]: ./simv
- option[1]: -l
- option[2]: sim.log
- option[3]: -cm
- option[4]: line+cond+fsm+tgl+branch
- option[5]: -cm_dir
- option[6]: ../../coverage/try/
- option[7]: -cm_name
- option[8]: sine_1g
- option[9]: +ENABLE_FSDB=1
- option[10]: /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
- option[11]: -Mcc=gcc
- option[12]: -Mcplusplus=g++
- option[13]: -Masflags=
- option[14]: -Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[15]: -Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[16]: -Mldflags= -rdynamic
- option[17]: -Mout=simv
- option[18]: -Mamsrun=
- option[19]: -Mvcsaceobjs=
- option[20]: -Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
- option[21]: -Mexternalobj=
- option[22]: -Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
- option[23]: -Mcrt0=
- option[24]: -Mcrtn=
- option[25]: -Mcsrc=
- option[26]: -Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm
- option[27]: -l
- option[28]: compile.log
- option[29]: -full64
- option[30]: -j8
- option[31]: +lint=TFIPC-L
- option[32]: +v2k
- option[33]: -debug_access+all
- option[34]: +vpi
- option[35]: +vcsd1
- option[36]: +itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
- option[37]: -debug_region+cell+encrypt
- option[38]: -P
- option[39]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
- option[40]: +define+DUMP_FSDB
- option[41]: -lca
- option[42]: -q
- option[43]: -timescale=1ns/1ps
- option[44]: +nospecify
- option[45]: -cm
- option[46]: line+cond+fsm+tgl+branch
- option[47]: -cm_dir
- option[48]: ./coverage/simv.vdb
- option[49]: -picarchive
- option[50]: -P
- option[51]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
- option[52]: -fsdb
- option[53]: -sverilog
- option[54]: -gen_obj
- option[55]: -f
- option[56]: filelist_vlg.f
- option[57]: +incdir+./../../rtl/define
- option[58]: +incdir+./../../rtl/qubitmcu
- option[59]: +incdir+./../../model
- option[60]: -load
- option[61]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/libnovas.so:FSDBDumpCmd
- option[62]: timescale=1ns/1ps
-Chronologic Simulation VCS Release O-2018.09-SP2_Full64
-Linux 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
-CPU cores: 96
-Limit information:
-======================================
-cputime unlimited
-filesize unlimited
-datasize unlimited
-stacksize 8194 kbytes
-coredumpsize 0 kbytes
-memoryuse unlimited
-vmemoryuse unlimited
-descriptors 4096
-memorylocked 64 kbytes
-maxproc 4096
-======================================
-(Special)Runtime environment variables:
-
-Runtime environment variables:
-XMODIFIERS=@im=ibus
-SPECTRE_DEFAULTS=-E
-SHELL=/bin/bash
-VTE_VERSION=5204
-AMS_ENABLE_NOISE=YES
-_=/bin/csh
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-HISTCONTROL=ignoredups
-SNPSLMD_LICENSE_FILE=27050@cryo1
-MENTOR_HOME=/opt/mentor
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-MACHTYPE=x86_64
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-CDSROOT=/opt/cadence/IC618
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-CDS_LIC_ONLY=1
-CDSDIR=/opt/cadence/IC618
-PATH=/opt/compiler/V0P100:/opt/synopsys/fpga/K-2015.09/bin:/opt/synopsys/vc_stat/vc_static/V-2023.12/bin:/opt/synopsys/wv/N-2017.12-SP2/bin:/opt/synopsys/hspice/N-2017.12-SP2/hspice/bin:/opt/synopsys/idq/O-2018.06-SP1/linux64/iddq/bin:/opt/synopsys/txs/O-2018.06-SP1/bin:/opt/synopsys/lc/O-2018.06-SP1/bin:/opt/synopsys/starrc/O-2018.06-SP1/bin:/opt/synopsys/fm/L-2016.03-SP1/bin:/opt/synopsys/pwr/O-2018.06-SP3/bin:/opt/synopsys/pts/O-2018.06-SP1/bin:/opt/synopsys/syn/O-2018.06-SP1/bin:/opt/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/bin:/opt/synopsys/scl/2018.06/linux64/bin:/opt/compiler/V0P100:/opt/synopsys/fpga/K-2015.09/bin:/opt/synopsys/vc_stat/vc_static/V-2023.12/bin:/opt/synopsys/wv/N-2017.12-SP2/bin:/opt/synopsys/hspice/N-2017.12-SP2/hspice/bin:/opt/synopsys/idq/O-2018.06-SP1/linux64/iddq/bin:/opt/synopsys/txs/O-2018.06-SP1/bin:/opt/synopsys/lc/O-2018.06-SP1/bin:/opt/synopsys/starrc/O-2018.06-SP1/bin:/opt/synopsys/fm/L-2016.03-SP1/bin:/opt/synopsys/pwr/O-2018.06-SP3/bin:/opt/synopsys/pts/O-2018.06-SP1/bin:/opt/synopsys/syn/O-2018.06-SP1/bin:/opt/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/bin:/opt/synopsys/scl/2018.06/linux64/bin:/opt/xilinx/Vivado/2019.2/bin:/opt/xilinx/DocNav:/usr/local/git/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/shbyang/.local/bin:/home/shbyang/bin:/opt/cadence/IC618/tools/bin:/opt/cadence/IC618/tools/dfII/bin:/opt/cadence/IC618/tools/plot/bin:/opt/cadence/SPECTRE181/bin:/opt/cadence/SPECTRE181/tools/bin:/opt/cadence/INNOVUS181/bin:/opt/cadence/INNOVUS181/tools/bin:/opt/cadence/GENUS152/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/INCISIVE152/bin:/opt/cadence/INCISIVE152/tools/bin:/opt/cadence/INCISIVE152/tools.lnx86/bin:/opt/cadence/INCISIVE152/tools/dfII/bin:/opt/cadence/INCISIVE152/tools.lnx86/dfII/bin:/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/bin:/opt/xilinx/Vivado/2019.2//bin:/opt/xilinx/Vivado/2019.2//bin/unwrapped/lnx64.o/:/opt/cadence/IC618/tools/bin:/opt/cadence/IC618/tools/dfII/bin:/opt/cadence/IC618/tools/plot/bin:/opt/cadence/SPECTRE181/bin:/opt/cadence/SPECTRE181/tools/bin:/opt/cadence/INNOVUS181/bin:/opt/cadence/INNOVUS181/tools/bin:/opt/cadence/GENUS152/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/INCISIVE152/bin:/opt/cadence/INCISIVE152/tools/bin:/opt/cadence/INCISIVE152/tools.lnx86/bin:/opt/cadence/INCISIVE152/tools/dfII/bin:/opt/cadence/INCISIVE152/tools.lnx86/dfII/bin:/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/bin:/opt/xilinx/Vivado/2019.2//bin:/opt/xilinx/Vivado/2019.2//bin/unwrapped/lnx64.o/
-MGC_PDF_REDER=evince
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-CDS_ROOT=/opt/cadence/IC618
-QT_GRAPHICSSYSTEM_CHECKED=1
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-XDG_RUNTIME_DIR=/run/user/1019
-VENDOR=unknown
-CDS_AUTO_64BIT=ALL
-XDG_MENU_PREFIX=gnome-
-LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
-MOZILLA_HOME=/usr/bin/firefox
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-DISPLAY=unix:17
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-HOME=/home/shbyang
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-PWD=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-SSH_AGENT_PID=24257
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-LD_LIBRARY_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/shared/pkgs/icv/tools/calibre_client/lib/64
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-VRST_HOME=/opt/cadence/INCISIVE152
-CDS_SPECTRE_FBENABLE=1
-LOGNAME=shbyang
-TERM=xterm-256color
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-HOSTNAME=cryo1
-GENUS_HOME=/opt/cadence/GENUS152
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-COLORTERM=truecolor
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-QT_IM_MODULE=ibus
-OSTYPE=linux
-SHLVL=6
-GNOME_SHELL_SESSION_MODE=classic
-XDG_SESSION_ID=c34
-USER=shbyang
-QTLIB=/usr/lib64/qt-3.3/lib
-XDG_CURRENT_DESKTOP=GNOME
-VNCDESKTOP=cryo1:17 (shbyang)
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-CDS=/opt/cadence/IC618
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-CDS_LOAD_ENV=CWD
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-IMSETTINGS_MODULE=none
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-MAKEFLAGS=
-MFLAGS=
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-MAIL=/var/spool/mail/shbyang
-CADHOME=/opt/cadence
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-CDSHOME=/opt/cadence/IC618
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-CADENCE_DIR=/opt/cadence/IC618
-CDS_INST_DIR=/opt/cadence/IC618
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-XILINX_HOME=/opt/xilinx
-DBUS_STARTER_BUS_TYPE=session
-W3264_NO_HOST_CHECK=1
-SCL_HOME=/opt/synopsys/scl/2018.06
-HOSTTYPE=x86_64-linux
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/461a392b_7deb_466e_bdba_86422bb75acb
-CDS_SPECTRERF_FBENABLE=1
-GNOME_TERMINAL_SERVICE=:1.1513
-HISTSIZE=1000
-GROUP=cryo
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-CDS_Netlisting_Mode=Analog
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-CDS_ENABLE_VMS=1
-LANG=C
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-HOST=cryo1
-MAKELEVEL=1
-VCS_HEAP_EXEC=true
-VCS_PATHMAP_PRELOAD_DONE=1
-VCS_STACK_EXEC=true
-VCS_EXEC_DONE=1
-LC_ALL=C
-DVE=/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve
-SPECMAN_OUTPUT_TO_TTY=1
-Runtime command line arguments:
-argv[0]=./simv
-argv[1]=-l
-argv[2]=sim.log
-argv[3]=-cm
-argv[4]=line+cond+fsm+tgl+branch
-argv[5]=-cm_dir
-argv[6]=../../coverage/try/
-argv[7]=-cm_name
-argv[8]=sine_1g
-argv[9]=+ENABLE_FSDB=1
-316 profile - 100
- CPU/Mem usage: 0.070 sys, 0.340 user, 308.33M mem
-317 Sat Mar 14 17:19:37 2026
-318 pliAppInit
-319 FSDB_GATE is set.
-320 FSDB_RTL is set.
-321 Enable Parallel Dumping.
-322 pliAppMiscSet: New Sim Round
-323 pliEntryInit
-324 LIBSSCORE=found /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUXAMD64/libsscore_vcs201809.so through $NOVAS_HOME setting.
-325 FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-326 (C) 1996 - 2019 by Synopsys, Inc.
-327 FSDB_VCS_ENABLE_FAST_VC is enable
-328 sps_call_fsdbAutoSwitchDumpfile_main_vd at 0 : ../../sim/chip_top/TB.sv(57)
-329 sps_call_fsdbAutoSwitchDumpfile at 0 : ../../sim/chip_top/TB.sv(57)
-330 argv[0]: (500)
-331 argv[1]: (./verdplus.fsdb)
-332 argv[2]: (1000000)
-333 *Verdi* FSDB WARNING: The FSDB file already exists. Overwriting the FSDB file may crash the programs that are using this file.
-334 *Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-335 *Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-336 *Verdi* : Enable automatic switching of the FSDB file.
-337 *Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-338 *Verdi* : Create FSDB file './verdplus_000.fsdb'
-339 compile option from '/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcs_rebuild'.
-340 "vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1"
-341 *Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-342 *Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-343 sps_call_fsdbDumpvars_vd_main at 0 : ../../sim/chip_top/TB.sv(58)
-344 [spi_vcs_vd_ppi_create_root]: no upf option
-345 FSDB dumper cannot dump UPF related power signal ($power_tree): no ppiPowerNetwork.
-346 *Verdi* : Begin traversing the scopes, layer (0).
-347 *Verdi* : End of traversing.
-348 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.100 sys, 0.410 user, 405.39M mem
- incr: 0.020 sys, 0.070 user, 9.52M mem
- accu: 0.020 sys, 0.070 user, 9.52M mem
- accu incr: 0.020 sys, 0.070 user, 9.52M mem
-
- Count usage: 12707 var, 14739 idcode, 7320 callback
- incr: 12707 var, 14739 idcode, 7320 callback
- accu: 12707 var, 14739 idcode, 7320 callback
- accu incr: 12707 var, 14739 idcode, 7320 callback
-349 Sat Mar 14 17:19:37 2026
-350 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.100 sys, 0.410 user, 406.58M mem
- incr: 0.000 sys, 0.000 user, 1.19M mem
- accu: 0.020 sys, 0.070 user, 10.72M mem
- accu incr: 0.000 sys, 0.000 user, 1.19M mem
-
- Count usage: 12707 var, 14739 idcode, 7320 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 12707 var, 14739 idcode, 7320 callback
- accu incr: 0 var, 0 idcode, 0 callback
-351 Sat Mar 14 17:19:37 2026
-352 sps_call_fsdbDumpMDA_vd_main at 0 : ../../sim/chip_top/TB.sv(59)
-353 *Verdi* : Begin traversing the MDAs, layer (0).
-354 *Verdi* : Enable +mda and +packedmda dumping.
-355 *Verdi* : End of traversing the MDAs.
-356 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.100 sys, 0.430 user, 410.39M mem
- incr: 0.000 sys, 0.020 user, 3.82M mem
- accu: 0.000 sys, 0.020 user, 3.82M mem
- accu incr: 0.000 sys, 0.020 user, 3.82M mem
-
- Count usage: 80429 var, 81757 idcode, 7372 callback
- incr: 67722 var, 67018 idcode, 52 callback
- accu: 67722 var, 67018 idcode, 52 callback
- accu incr: 67722 var, 67018 idcode, 52 callback
-357 Sat Mar 14 17:19:37 2026
-358 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.100 sys, 0.450 user, 417.86M mem
- incr: 0.000 sys, 0.020 user, 7.46M mem
- accu: 0.000 sys, 0.040 user, 11.28M mem
- accu incr: 0.000 sys, 0.020 user, 7.46M mem
-
- Count usage: 80429 var, 81757 idcode, 7372 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 67722 var, 67018 idcode, 52 callback
- accu incr: 0 var, 0 idcode, 0 callback
-359 Sat Mar 14 17:19:37 2026
-360 End of simulation at 509079552
-361 Sat Mar 14 17:19:47 2026
-362 Begin FSDB profile info:
-363 FSDB Writer : bc1(49305168) bcn(4576712) mtf/stf(0/0)
-FSDB Writer elapsed time : flush(0.290561) io wait(0.000000) theadpool wait(0.000000) target functin(0.000000)
-FSDB Writer cpu time : MT Compression : 0
-364 End FSDB profile info
-365 Parallel profile - Flush:4 Expand:0 ProduceWait:0 ConsumerWait:622 BlockUsed:622
-366 ProduceTime:12.078049562 ConsumerTime:5.709506825 Buffer:64MB
-367 SimExit
-368 Sim process exit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/sim.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/sim.log
deleted file mode 100644
index 3e9ebfd..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/sim.log
+++ /dev/null
@@ -1,831 +0,0 @@
-Command: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/./simv -l sim.log -cm line+cond+fsm+tgl+branch -cm_dir ../../coverage/try/ -cm_name sine_1g +ENABLE_FSDB=1
-Chronologic VCS simulator copyright 1991-2018
-Contains Synopsys proprietary information.
-Compiler version O-2018.09-SP2_Full64; Runtime version O-2018.09-SP2_Full64; Mar 14 17:19 2026
-Information: *** Instance TB.U_da4008_chip_top.digital_top.u_dw_stream_sync is the DW_stream_sync Clock Domain Crossing Module ***
-../../../../case/config/try//sine_1g.txt
-../../data_RTL/try/sine_1g.txt
-*Verdi* Loading libsscore_vcs201809.so
-FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-(C) 1996 - 2019 by Synopsys, Inc.
-*Verdi* FSDB WARNING: The FSDB file already exists. Overwriting the FSDB file may crash the programs that are using this file.
-*Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-*Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-*Verdi* : Enable automatic switching of the FSDB file.
-*Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-*Verdi* : Create FSDB file './verdplus_000.fsdb'
-*Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-*Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-*Verdi* : Begin traversing the scopes, layer (0).
-*Verdi* : End of traversing.
-*Verdi* : Begin traversing the MDAs, layer (0).
-*Verdi* : Enable +mda and +packedmda dumping.
-*Verdi* : End of traversing the MDAs.
-Frame check passed: Frame check passed
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h0c000010
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='hb9a79380
-data[ 1]='hf1e6d9ca
-data[ 2]='hfdfffdf8
-data[ 3]='hd9e6f1f8
-data[ 4]='h93a7b9ca
-data[ 5]='h46586c80
-data[ 6]='h0e192635
-data[ 7]='h02010207
-data[ 8]='h26190e07
-data[ 9]='h6c584635
-data[10]='hb9a7937f
-data[11]='hf1e6d9ca
-data[12]='hfdfffdf8
-data[13]='hd9e6f1f8
-data[14]='h93a7b9ca
-data[15]='h46586c80
-data[16]='h0e192635
-data[17]='h02010207
-data[18]='h26190e07
-data[19]='h6c584635
-data[20]='hb9a7937f
-data[21]='hf1e6d9ca
-data[22]='hfdfffdf8
-data[23]='hd9e6f1f8
-data[24]='h93a7b9ca
-data[25]='h46586c80
-data[26]='h0e192635
-data[27]='h02010207
-data[28]='h26190e07
-data[29]='h6c584635
-data[30]='hb9a7937f
-data[31]='hf1e6d9ca
-data[32]='hfdfffdf8
-data[33]='hd9e6f1f8
-data[34]='h93a7b9ca
-data[35]='h46586c80
-data[36]='h0e192635
-data[37]='h02010207
-data[38]='h26190e07
-data[39]='h6c584635
-data[40]='hb9a7937f
-data[41]='hf1e6d9ca
-data[42]='hfdfffdf8
-data[43]='hd9e6f1f8
-data[44]='h93a7b9ca
-data[45]='h46586c80
-data[46]='h0e192635
-data[47]='h02010207
-data[48]='h26190e07
-data[49]='h6c584635
-data[50]='hb9a7937f
-data[51]='hf1e6d9ca
-data[52]='hfdfffdf8
-data[53]='hd9e6f1f8
-data[54]='h93a7b9ca
-data[55]='h46586c7f
-data[56]='h0e192635
-data[57]='h02010207
-data[58]='h26190e07
-data[59]='h6c584635
-data[60]='hb9a7937f
-data[61]='hf1e6d9ca
-data[62]='hfdfffdf8
-data[63]='hd9e6f1f8
-data[64]='h93a7b9ca
-data[65]='h46586c80
-data[66]='h0e192635
-data[67]='h02010207
-data[68]='h26190e07
-data[69]='h6c584635
-data[70]='hb9a7937f
-data[71]='hf1e6d9ca
-data[72]='hfdfffdf8
-data[73]='hd9e6f1f8
-data[74]='h93a7b9ca
-data[75]='h46586c80
-data[76]='h0e192635
-data[77]='h02010207
-data[78]='h26190e07
-data[79]='h6c584635
-data[80]='hb9a7937f
-data[81]='hf1e6d9ca
-data[82]='hfdfffdf8
-data[83]='hd9e6f1f8
-data[84]='h93a7b9ca
-data[85]='h46586c7f
-data[86]='h0e192635
-data[87]='h02010207
-data[88]='h26190e07
-data[89]='h6c584635
-data[90]='hb9a7937f
-data[91]='hf1e6d9ca
-data[92]='hfdfffdf8
-data[93]='hd9e6f1f8
-data[94]='h93a7b9ca
-data[95]='h46586c7f
-data[96]='h0e192635
-data[97]='h02010207
-data[98]='h26190e07
-data[99]='h6c584635
-data[100]='hb9a7937f
-data[101]='hf1e6d9ca
-data[102]='hfdfffdf8
-data[103]='hd9e6f1f8
-data[104]='h93a7b9ca
-data[105]='h46586c7f
-data[106]='h0e192635
-data[107]='h02010207
-data[108]='h26190e07
-data[109]='h6c584635
-data[110]='hb9a79380
-data[111]='hf1e6d9ca
-data[112]='hfdfffdf8
-data[113]='hd9e6f1f8
-data[114]='h93a7b9ca
-data[115]='h46586c7f
-data[116]='h0e192635
-data[117]='h02010207
-data[118]='h26190e07
-data[119]='h6c584635
-data[120]='hb9a7937f
-data[121]='hf1e6d9ca
-data[122]='hfdfffdf8
-data[123]='hd9e6f1f8
-data[124]='h93a7b9ca
-data[125]='h46586c80
-data[126]='h0e192635
-data[127]='h02010207
-data[128]='h26190e07
-data[129]='h6c584635
-data[130]='hb9a7937f
-data[131]='hf1e6d9ca
-data[132]='hfdfffdf8
-data[133]='hd9e6f1f8
-data[134]='h93a7b9ca
-data[135]='h46586c80
-data[136]='h0e192635
-data[137]='h02010207
-data[138]='h26190e07
-data[139]='h6c584635
-data[140]='hb9a7937f
-data[141]='hf1e6d9ca
-data[142]='hfdfffdf8
-data[143]='hd9e6f1f8
-data[144]='h93a7b9ca
-data[145]='h46586c80
-data[146]='h0e192635
-data[147]='h02010207
-data[148]='h26190e07
-data[149]='h6c584635
-data[150]='hb9a7937f
-data[151]='hf1e6d9ca
-data[152]='hfdfffdf8
-data[153]='hd9e6f1f8
-data[154]='h93a7b9ca
-data[155]='h46586c80
-data[156]='h0e192635
-data[157]='h02010207
-data[158]='h26190e07
-data[159]='h6c584635
-data[160]='hb9a7937f
-data[161]='hf1e6d9ca
-data[162]='hfdfffdf8
-data[163]='hd9e6f1f8
-data[164]='h93a7b9ca
-data[165]='h46586c80
-data[166]='h0e192635
-data[167]='h02010207
-data[168]='h26190e07
-data[169]='h6c584635
-data[170]='hb9a79380
-data[171]='hf1e6d9ca
-data[172]='hfdfffdf8
-data[173]='hd9e6f1f8
-data[174]='h93a7b9ca
-data[175]='h46586c80
-data[176]='h0e192635
-data[177]='h02010207
-data[178]='h26190e07
-data[179]='h6c584635
-data[180]='hb9a7937f
-data[181]='hf1e6d9ca
-data[182]='hfdfffdf8
-data[183]='hd9e6f1f8
-data[184]='h93a7b9ca
-data[185]='h46586c80
-data[186]='h0e192635
-data[187]='h02010207
-data[188]='h26190e07
-data[189]='h6c584635
-data[190]='hb9a79380
-data[191]='hf1e6d9ca
-data[192]='hfdfffdf8
-data[193]='hd9e6f1f8
-data[194]='h93a7b9ca
-data[195]='h46586c80
-data[196]='h0e192635
-data[197]='h02010207
-data[198]='h26190e07
-data[199]='h6c584635
-data[200]='hb9a7937f
-data[201]='hf1e6d9ca
-data[202]='hfdfffdf8
-data[203]='hd9e6f1f8
-data[204]='h93a7b9ca
-data[205]='h46586c80
-data[206]='h0e192635
-data[207]='h02010207
-data[208]='h26190e07
-data[209]='h6c584635
-data[210]='hb9a79380
-data[211]='hf1e6d9ca
-data[212]='hfdfffdf8
-data[213]='hd9e6f1f8
-data[214]='h93a7b9ca
-data[215]='h46586c80
-data[216]='h0e192635
-data[217]='h02010207
-data[218]='h26190e07
-data[219]='h6c584635
-data[220]='hb9a79380
-data[221]='hf1e6d9ca
-data[222]='hfdfffdf8
-data[223]='hd9e6f1f8
-data[224]='h93a7b9ca
-data[225]='h46586c80
-data[226]='h0e192635
-data[227]='h02010207
-data[228]='h26190e07
-data[229]='h6c584635
-data[230]='hb9a79380
-data[231]='hf1e6d9ca
-data[232]='hfdfffdf8
-data[233]='hd9e6f1f8
-data[234]='h93a7b9ca
-data[235]='h46586c7f
-data[236]='h0e192635
-data[237]='h02010207
-data[238]='h26190e07
-data[239]='h6c584635
-data[240]='hb9a7937f
-data[241]='hf1e6d9ca
-data[242]='hfdfffdf8
-data[243]='hd9e6f1f8
-data[244]='h93a7b9ca
-data[245]='h46586c80
-data[246]='h0e192635
-data[247]='h02010207
-data[248]='h26190e07
-data[249]='h6c584635
-data[250]='hb9a7937f
-data[251]='hf1e6d9ca
-data[252]='hfdfffdf8
-data[253]='hd9e6f1f8
-data[254]='h93a7b9ca
-data[255]='h46586c80
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h0c000010
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='hb9a79380
-data[ 1]='hf1e6d9ca
-data[ 2]='hfdfffdf8
-data[ 3]='hd9e6f1f8
-data[ 4]='h93a7b9ca
-data[ 5]='h46586c80
-data[ 6]='h0e192635
-data[ 7]='h02010207
-data[ 8]='h26190e07
-data[ 9]='h6c584635
-data[10]='hb9a7937f
-data[11]='hf1e6d9ca
-data[12]='hfdfffdf8
-data[13]='hd9e6f1f8
-data[14]='h93a7b9ca
-data[15]='h46586c80
-data[16]='h0e192635
-data[17]='h02010207
-data[18]='h26190e07
-data[19]='h6c584635
-data[20]='hb9a7937f
-data[21]='hf1e6d9ca
-data[22]='hfdfffdf8
-data[23]='hd9e6f1f8
-data[24]='h93a7b9ca
-data[25]='h46586c80
-data[26]='h0e192635
-data[27]='h02010207
-data[28]='h26190e07
-data[29]='h6c584635
-data[30]='hb9a7937f
-data[31]='hf1e6d9ca
-data[32]='hfdfffdf8
-data[33]='hd9e6f1f8
-data[34]='h93a7b9ca
-data[35]='h46586c80
-data[36]='h0e192635
-data[37]='h02010207
-data[38]='h26190e07
-data[39]='h6c584635
-data[40]='hb9a7937f
-data[41]='hf1e6d9ca
-data[42]='hfdfffdf8
-data[43]='hd9e6f1f8
-data[44]='h93a7b9ca
-data[45]='h46586c80
-data[46]='h0e192635
-data[47]='h02010207
-data[48]='h26190e07
-data[49]='h6c584635
-data[50]='hb9a7937f
-data[51]='hf1e6d9ca
-data[52]='hfdfffdf8
-data[53]='hd9e6f1f8
-data[54]='h93a7b9ca
-data[55]='h46586c7f
-data[56]='h0e192635
-data[57]='h02010207
-data[58]='h26190e07
-data[59]='h6c584635
-data[60]='hb9a7937f
-data[61]='hf1e6d9ca
-data[62]='hfdfffdf8
-data[63]='hd9e6f1f8
-data[64]='h93a7b9ca
-data[65]='h46586c80
-data[66]='h0e192635
-data[67]='h02010207
-data[68]='h26190e07
-data[69]='h6c584635
-data[70]='hb9a7937f
-data[71]='hf1e6d9ca
-data[72]='hfdfffdf8
-data[73]='hd9e6f1f8
-data[74]='h93a7b9ca
-data[75]='h46586c80
-data[76]='h0e192635
-data[77]='h02010207
-data[78]='h26190e07
-data[79]='h6c584635
-data[80]='hb9a7937f
-data[81]='hf1e6d9ca
-data[82]='hfdfffdf8
-data[83]='hd9e6f1f8
-data[84]='h93a7b9ca
-data[85]='h46586c7f
-data[86]='h0e192635
-data[87]='h02010207
-data[88]='h26190e07
-data[89]='h6c584635
-data[90]='hb9a7937f
-data[91]='hf1e6d9ca
-data[92]='hfdfffdf8
-data[93]='hd9e6f1f8
-data[94]='h93a7b9ca
-data[95]='h46586c7f
-data[96]='h0e192635
-data[97]='h02010207
-data[98]='h26190e07
-data[99]='h6c584635
-data[100]='hb9a7937f
-data[101]='hf1e6d9ca
-data[102]='hfdfffdf8
-data[103]='hd9e6f1f8
-data[104]='h93a7b9ca
-data[105]='h46586c7f
-data[106]='h0e192635
-data[107]='h02010207
-data[108]='h26190e07
-data[109]='h6c584635
-data[110]='hb9a79380
-data[111]='hf1e6d9ca
-data[112]='hfdfffdf8
-data[113]='hd9e6f1f8
-data[114]='h93a7b9ca
-data[115]='h46586c7f
-data[116]='h0e192635
-data[117]='h02010207
-data[118]='h26190e07
-data[119]='h6c584635
-data[120]='hb9a7937f
-data[121]='hf1e6d9ca
-data[122]='hfdfffdf8
-data[123]='hd9e6f1f8
-data[124]='h93a7b9ca
-data[125]='h46586c80
-data[126]='h0e192635
-data[127]='h02010207
-data[128]='h26190e07
-data[129]='h6c584635
-data[130]='hb9a7937f
-data[131]='hf1e6d9ca
-data[132]='hfdfffdf8
-data[133]='hd9e6f1f8
-data[134]='h93a7b9ca
-data[135]='h46586c80
-data[136]='h0e192635
-data[137]='h02010207
-data[138]='h26190e07
-data[139]='h6c584635
-data[140]='hb9a7937f
-data[141]='hf1e6d9ca
-data[142]='hfdfffdf8
-data[143]='hd9e6f1f8
-data[144]='h93a7b9ca
-data[145]='h46586c80
-data[146]='h0e192635
-data[147]='h02010207
-data[148]='h26190e07
-data[149]='h6c584635
-data[150]='hb9a7937f
-data[151]='hf1e6d9ca
-data[152]='hfdfffdf8
-data[153]='hd9e6f1f8
-data[154]='h93a7b9ca
-data[155]='h46586c80
-data[156]='h0e192635
-data[157]='h02010207
-data[158]='h26190e07
-data[159]='h6c584635
-data[160]='hb9a7937f
-data[161]='hf1e6d9ca
-data[162]='hfdfffdf8
-data[163]='hd9e6f1f8
-data[164]='h93a7b9ca
-data[165]='h46586c80
-data[166]='h0e192635
-data[167]='h02010207
-data[168]='h26190e07
-data[169]='h6c584635
-data[170]='hb9a79380
-data[171]='hf1e6d9ca
-data[172]='hfdfffdf8
-data[173]='hd9e6f1f8
-data[174]='h93a7b9ca
-data[175]='h46586c80
-data[176]='h0e192635
-data[177]='h02010207
-data[178]='h26190e07
-data[179]='h6c584635
-data[180]='hb9a7937f
-data[181]='hf1e6d9ca
-data[182]='hfdfffdf8
-data[183]='hd9e6f1f8
-data[184]='h93a7b9ca
-data[185]='h46586c80
-data[186]='h0e192635
-data[187]='h02010207
-data[188]='h26190e07
-data[189]='h6c584635
-data[190]='hb9a79380
-data[191]='hf1e6d9ca
-data[192]='hfdfffdf8
-data[193]='hd9e6f1f8
-data[194]='h93a7b9ca
-data[195]='h46586c80
-data[196]='h0e192635
-data[197]='h02010207
-data[198]='h26190e07
-data[199]='h6c584635
-data[200]='hb9a7937f
-data[201]='hf1e6d9ca
-data[202]='hfdfffdf8
-data[203]='hd9e6f1f8
-data[204]='h93a7b9ca
-data[205]='h46586c80
-data[206]='h0e192635
-data[207]='h02010207
-data[208]='h26190e07
-data[209]='h6c584635
-data[210]='hb9a79380
-data[211]='hf1e6d9ca
-data[212]='hfdfffdf8
-data[213]='hd9e6f1f8
-data[214]='h93a7b9ca
-data[215]='h46586c80
-data[216]='h0e192635
-data[217]='h02010207
-data[218]='h26190e07
-data[219]='h6c584635
-data[220]='hb9a79380
-data[221]='hf1e6d9ca
-data[222]='hfdfffdf8
-data[223]='hd9e6f1f8
-data[224]='h93a7b9ca
-data[225]='h46586c80
-data[226]='h0e192635
-data[227]='h02010207
-data[228]='h26190e07
-data[229]='h6c584635
-data[230]='hb9a79380
-data[231]='hf1e6d9ca
-data[232]='hfdfffdf8
-data[233]='hd9e6f1f8
-data[234]='h93a7b9ca
-data[235]='h46586c7f
-data[236]='h0e192635
-data[237]='h02010207
-data[238]='h26190e07
-data[239]='h6c584635
-data[240]='hb9a7937f
-data[241]='hf1e6d9ca
-data[242]='hfdfffdf8
-data[243]='hd9e6f1f8
-data[244]='h93a7b9ca
-data[245]='h46586c80
-data[246]='h0e192635
-data[247]='h02010207
-data[248]='h26190e07
-data[249]='h6c584635
-data[250]='hb9a7937f
-data[251]='hf1e6d9ca
-data[252]='hfdfffdf8
-data[253]='hd9e6f1f8
-data[254]='h93a7b9ca
-data[255]='h46586c80
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0100000
-cfgid: 00
-data[ 0]='h0c000010
------------------------------------
-----------ONE-PKT-DRIVING----------
-cmd: 0
-addr: 0200000
-cfgid: 00
-data[ 0]='hb9a79380
-data[ 1]='hf1e6d9ca
-data[ 2]='hfdfffdf8
-data[ 3]='hd9e6f1f8
-data[ 4]='h93a7b9ca
-data[ 5]='h46586c80
-data[ 6]='h0e192635
-data[ 7]='h02010207
-data[ 8]='h26190e07
-data[ 9]='h6c584635
-data[10]='hb9a7937f
-data[11]='hf1e6d9ca
-data[12]='hfdfffdf8
-data[13]='hd9e6f1f8
-data[14]='h93a7b9ca
-data[15]='h46586c80
-data[16]='h0e192635
-data[17]='h02010207
-data[18]='h26190e07
-data[19]='h6c584635
-data[20]='hb9a7937f
-data[21]='hf1e6d9ca
-data[22]='hfdfffdf8
-data[23]='hd9e6f1f8
-data[24]='h93a7b9ca
-data[25]='h46586c80
-data[26]='h0e192635
-data[27]='h02010207
-data[28]='h26190e07
-data[29]='h6c584635
-data[30]='hb9a7937f
-data[31]='hf1e6d9ca
-data[32]='hfdfffdf8
-data[33]='hd9e6f1f8
-data[34]='h93a7b9ca
-data[35]='h46586c80
-data[36]='h0e192635
-data[37]='h02010207
-data[38]='h26190e07
-data[39]='h6c584635
-data[40]='hb9a7937f
-data[41]='hf1e6d9ca
-data[42]='hfdfffdf8
-data[43]='hd9e6f1f8
-data[44]='h93a7b9ca
-data[45]='h46586c80
-data[46]='h0e192635
-data[47]='h02010207
-data[48]='h26190e07
-data[49]='h6c584635
-data[50]='hb9a7937f
-data[51]='hf1e6d9ca
-data[52]='hfdfffdf8
-data[53]='hd9e6f1f8
-data[54]='h93a7b9ca
-data[55]='h46586c7f
-data[56]='h0e192635
-data[57]='h02010207
-data[58]='h26190e07
-data[59]='h6c584635
-data[60]='hb9a7937f
-data[61]='hf1e6d9ca
-data[62]='hfdfffdf8
-data[63]='hd9e6f1f8
-data[64]='h93a7b9ca
-data[65]='h46586c80
-data[66]='h0e192635
-data[67]='h02010207
-data[68]='h26190e07
-data[69]='h6c584635
-data[70]='hb9a7937f
-data[71]='hf1e6d9ca
-data[72]='hfdfffdf8
-data[73]='hd9e6f1f8
-data[74]='h93a7b9ca
-data[75]='h46586c80
-data[76]='h0e192635
-data[77]='h02010207
-data[78]='h26190e07
-data[79]='h6c584635
-data[80]='hb9a7937f
-data[81]='hf1e6d9ca
-data[82]='hfdfffdf8
-data[83]='hd9e6f1f8
-data[84]='h93a7b9ca
-data[85]='h46586c7f
-data[86]='h0e192635
-data[87]='h02010207
-data[88]='h26190e07
-data[89]='h6c584635
-data[90]='hb9a7937f
-data[91]='hf1e6d9ca
-data[92]='hfdfffdf8
-data[93]='hd9e6f1f8
-data[94]='h93a7b9ca
-data[95]='h46586c7f
-data[96]='h0e192635
-data[97]='h02010207
-data[98]='h26190e07
-data[99]='h6c584635
-data[100]='hb9a7937f
-data[101]='hf1e6d9ca
-data[102]='hfdfffdf8
-data[103]='hd9e6f1f8
-data[104]='h93a7b9ca
-data[105]='h46586c7f
-data[106]='h0e192635
-data[107]='h02010207
-data[108]='h26190e07
-data[109]='h6c584635
-data[110]='hb9a79380
-data[111]='hf1e6d9ca
-data[112]='hfdfffdf8
-data[113]='hd9e6f1f8
-data[114]='h93a7b9ca
-data[115]='h46586c7f
-data[116]='h0e192635
-data[117]='h02010207
-data[118]='h26190e07
-data[119]='h6c584635
-data[120]='hb9a7937f
-data[121]='hf1e6d9ca
-data[122]='hfdfffdf8
-data[123]='hd9e6f1f8
-data[124]='h93a7b9ca
-data[125]='h46586c80
-data[126]='h0e192635
-data[127]='h02010207
-data[128]='h26190e07
-data[129]='h6c584635
-data[130]='hb9a7937f
-data[131]='hf1e6d9ca
-data[132]='hfdfffdf8
-data[133]='hd9e6f1f8
-data[134]='h93a7b9ca
-data[135]='h46586c80
-data[136]='h0e192635
-data[137]='h02010207
-data[138]='h26190e07
-data[139]='h6c584635
-data[140]='hb9a7937f
-data[141]='hf1e6d9ca
-data[142]='hfdfffdf8
-data[143]='hd9e6f1f8
-data[144]='h93a7b9ca
-data[145]='h46586c80
-data[146]='h0e192635
-data[147]='h02010207
-data[148]='h26190e07
-data[149]='h6c584635
-data[150]='hb9a7937f
-data[151]='hf1e6d9ca
-data[152]='hfdfffdf8
-data[153]='hd9e6f1f8
-data[154]='h93a7b9ca
-data[155]='h46586c80
-data[156]='h0e192635
-data[157]='h02010207
-data[158]='h26190e07
-data[159]='h6c584635
-data[160]='hb9a7937f
-data[161]='hf1e6d9ca
-data[162]='hfdfffdf8
-data[163]='hd9e6f1f8
-data[164]='h93a7b9ca
-data[165]='h46586c80
-data[166]='h0e192635
-data[167]='h02010207
-data[168]='h26190e07
-data[169]='h6c584635
-data[170]='hb9a79380
-data[171]='hf1e6d9ca
-data[172]='hfdfffdf8
-data[173]='hd9e6f1f8
-data[174]='h93a7b9ca
-data[175]='h46586c80
-data[176]='h0e192635
-data[177]='h02010207
-data[178]='h26190e07
-data[179]='h6c584635
-data[180]='hb9a7937f
-data[181]='hf1e6d9ca
-data[182]='hfdfffdf8
-data[183]='hd9e6f1f8
-data[184]='h93a7b9ca
-data[185]='h46586c80
-data[186]='h0e192635
-data[187]='h02010207
-data[188]='h26190e07
-data[189]='h6c584635
-data[190]='hb9a79380
-data[191]='hf1e6d9ca
-data[192]='hfdfffdf8
-data[193]='hd9e6f1f8
-data[194]='h93a7b9ca
-data[195]='h46586c80
-data[196]='h0e192635
-data[197]='h02010207
-data[198]='h26190e07
-data[199]='h6c584635
-data[200]='hb9a7937f
-data[201]='hf1e6d9ca
-data[202]='hfdfffdf8
-data[203]='hd9e6f1f8
-data[204]='h93a7b9ca
-data[205]='h46586c80
-data[206]='h0e192635
-data[207]='h02010207
-data[208]='h26190e07
-data[209]='h6c584635
-data[210]='hb9a79380
-data[211]='hf1e6d9ca
-data[212]='hfdfffdf8
-data[213]='hd9e6f1f8
-data[214]='h93a7b9ca
-data[215]='h46586c80
-data[216]='h0e192635
-data[217]='h02010207
-data[218]='h26190e07
-data[219]='h6c584635
-data[220]='hb9a79380
-data[221]='hf1e6d9ca
-data[222]='hfdfffdf8
-data[223]='hd9e6f1f8
-data[224]='h93a7b9ca
-data[225]='h46586c80
-data[226]='h0e192635
-data[227]='h02010207
-data[228]='h26190e07
-data[229]='h6c584635
-data[230]='hb9a79380
-data[231]='hf1e6d9ca
-data[232]='hfdfffdf8
-data[233]='hd9e6f1f8
-data[234]='h93a7b9ca
-data[235]='h46586c7f
-data[236]='h0e192635
-data[237]='h02010207
-data[238]='h26190e07
-data[239]='h6c584635
-data[240]='hb9a7937f
-data[241]='hf1e6d9ca
-data[242]='hfdfffdf8
-data[243]='hd9e6f1f8
-data[244]='h93a7b9ca
-data[245]='h46586c80
-data[246]='h0e192635
-data[247]='h02010207
-data[248]='h26190e07
-data[249]='h6c584635
-data[250]='hb9a7937f
-data[251]='hf1e6d9ca
-data[252]='hfdfffdf8
-data[253]='hd9e6f1f8
-data[254]='h93a7b9ca
-data[255]='h46586c80
------------------------------------
-
----------------------------------------------------------------------------
-VCS Coverage Metrics: during simulation line, cond, FSM, branch, tgl was monitored
----------------------------------------------------------------------------
- V C S S i m u l a t i o n R e p o r t
-Time: 509079552 ps
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv
deleted file mode 100755
index f87b060..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.daidir_complete b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.daidir_complete
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.normal_done b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.normal_done
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.vcs.timestamp b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.vcs.timestamp
deleted file mode 100644
index 3d08c7c..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/.vcs.timestamp
+++ /dev/null
@@ -1,230 +0,0 @@
-4
-0 ../define/chip_define.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_define.v
-0 ../define/chip_undefine.v
-0 /opt/synopsys/vcs-mx/O-2018.09-SP2/etc/systemverilog/../define/chip_undefine.v
-48
-+define+DUMP_FSDB
-+incdir+./../../model
-+incdir+./../../rtl/define
-+incdir+./../../rtl/qubitmcu
-+itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-+lint=TFIPC-L
-+nospecify
-+v2k
-+vcsd1
-+vpi
--Mamsrun=
--Masflags=
--Mcc=gcc
--Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--Mcplusplus=g++
--Mcrt0=
--Mcrtn=
--Mcsrc=
--Mexternalobj=
--Mldflags= -rdynamic
--Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
--Mout=simv
--Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
--Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lm
--Mvcsaceobjs=
--Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--P
--P
--cm
--cm_dir
--debug_access+all
--debug_region+cell+encrypt
--f filelist_vlg.f
--fsdb
--full64
--gen_obj
--l
--lca
--picarchive
--q
--sverilog
--timescale=1ns/1ps
-./coverage/simv.vdb
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-compile.log
-line+cond+fsm+tgl+branch
-110
-sysc_uni_pwd=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-XMODIFIERS=@im=ibus
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-XILINX_HOME=/opt/xilinx
-XDG_SESSION_ID=c34
-XDG_RUNTIME_DIR=/run/user/1019
-XDG_MENU_PREFIX=gnome-
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-XDG_CURRENT_DESKTOP=GNOME
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-WAVE=1
-W3264_NO_HOST_CHECK=1
-VTE_VERSION=5204
-VRST_HOME=/opt/cadence/INCISIVE152
-VNCDESKTOP=cryo1:17 (shbyang)
-VMR_MODE_FLAG=64
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-VENDOR=unknown
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-VCS_MX_HOME_INTERNAL=1
-VCS_MODE_FLAG=64
-VCS_LOG_FILE=compile.log
-VCS_LCAMSG_PRINT_OFF=1
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-VCS_DEPTH=0
-VCS_ARG_ADDED_FOR_TMP=1
-VCS_ARCH=linux64
-UNAME=/bin/uname
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-TOOL_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-SSH_AGENT_PID=24257
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-SPECTRE_DEFAULTS=-E
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SCRNAME=vcs
-SCRIPT_NAME=vcs
-SCL_HOME=/opt/synopsys/scl/2018.06
-QT_IM_MODULE=ibus
-QT_GRAPHICSSYSTEM_CHECKED=1
-QTLIB=/usr/lib64/qt-3.3/lib
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-OVA_UUM=0
-OSTYPE=linux
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MOZILLA_HOME=/usr/bin/firefox
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-MGC_PDF_REDER=evince
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-MFLAGS=-s
-MENTOR_HOME=/opt/mentor
-MAKEOVERRIDES=${-*-command-variables-*-}
-MAKELEVEL=2
-MAKEFLAGS=s -- WAVE=1
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-LC_ALL=C
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-IMSETTINGS_MODULE=none
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-HOSTTYPE=x86_64-linux
-HISTCONTROL=ignoredups
-GROUP=cryo
-GNOME_TERMINAL_SERVICE=:1.1513
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/461a392b_7deb_466e_bdba_86422bb75acb
-GNOME_SHELL_SESSION_MODE=classic
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GENUS_HOME=/opt/cadence/GENUS152
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-DBUS_STARTER_BUS_TYPE=session
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-COLORTERM=truecolor
-CDS_SPECTRE_FBENABLE=1
-CDS_SPECTRERF_FBENABLE=1
-CDS_ROOT=/opt/cadence/IC618
-CDS_Netlisting_Mode=Analog
-CDS_LOAD_ENV=CWD
-CDS_LIC_ONLY=1
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-CDS_INST_DIR=/opt/cadence/IC618
-CDS_ENABLE_VMS=1
-CDS_AUTO_64BIT=ALL
-CDSROOT=/opt/cadence/IC618
-CDSHOME=/opt/cadence/IC618
-CDSDIR=/opt/cadence/IC618
-CDS=/opt/cadence/IC618
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-CADHOME=/opt/cadence
-CADENCE_DIR=/opt/cadence/IC618
-AMS_ENABLE_NOISE=YES
-0
-55
-1773384753 ../../model/LVDS_DRIVER.sv
-1773384753 ../../model/SPI_DRIVER.sv
-1773384753 ./../../rtl/define/../define/chip_undefine.v
-1773384753 ./../../rtl/define/../define/chip_define.v
-1773384753 ../../rtl/define/chip_undefine.v
-1773479827 ../../sim/chip_top/TB.sv
-1773384753 ../../model/DW_pulse_sync.v
-1773384753 ../../model/DW_sync.v
-1773384753 ../../model/DW_reset_sync.v
-1773384753 ../../model/DW_stream_sync.v
-1773384753 ../../model/reset_tb.v
-1773384753 ../../model/DEM_Reverse.v
-1773384753 ../../model/DEM_Reverse_64CH.v
-1773384753 ../../model/clk_gen.v
-1773384753 ../../model/spi_if.sv
-1773384753 ../../model/clock_tb.v
-1773384753 ../../rtl/spi/spi_sys.v
-1773384753 ../../rtl/spi/spi_pll.v
-1773384753 ../../rtl/spi/spi_slave.v
-1773384753 ../../rtl/spi/spi_bus_decoder.sv
-1773384753 ../../rtl/top/digital_top.sv
-1773384753 ../../rtl/top/da4008_chip_top.sv
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-1773384753 ../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-1773384753 ../../rtl/dem/DEM_PhaseSync_4008.sv
-1773384753 ../../rtl/awg/awg_ctrl.v
-1773384753 ../../rtl/awg/awg_top.sv
-1773384753 ../../rtl/clk/clk_regfile.v
-1773384753 ../../rtl/memory/spram.v
-1773384753 ../../rtl/memory/bhv_spram.v
-1773384753 ../../rtl/memory/dpram.v
-1773384753 ../../rtl/memory/sram_dmux.sv
-1773384753 ../../rtl/memory/sram_if.sv
-1773384753 ../../rtl/memory/tsmc_dpram.v
-1773384753 ../../rtl/comm/ramp_gen.v
-1773384753 ../../rtl/comm/syncer.v
-1773384753 ../../rtl/comm/sirv_gnrl_dffs.v
-1773384753 ../../rtl/comm/pulse_generator.sv
-1773384753 ../../rtl/comm/sirv_gnrl_xchecker.v
-1773384753 ../../rtl/rstgen/rst_sync.v
-1773384753 ../../rtl/rstgen/rst_gen_unit.v
-1773384753 ../../rtl/lvds/ulink_rx.sv
-1773384753 ../../rtl/dac_regfile/dac_regfile.v
-1773384753 ../../rtl/fifo/syn_fwft_fifo.v
-1773384753 ../../rtl/dacif/dacif.v
-1773384753 ../../rtl/systemregfile/systemregfile.v
-1773384753 ../../rtl/io/iopad.v
-1773384753 ../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-1773384753 ../../lib/tphn28hpcpgv18.v
-1773384753 ../../rtl/define/chip_define.v
-1551421444 /opt/synopsys/vcs-mx/O-2018.09-SP2/include/cm_vcsd.tab
-1773384753 filelist_vlg.f
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-1551421246 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-5
-1551422344 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so
-1551421792 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so
-1551421768 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so
-1551421789 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
-1550752033 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a
-1773479969 simv.daidir
--1 partitionlib
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32553_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32553_archive_1.so
deleted file mode 100755
index fd59063..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32553_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32573_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32573_archive_1.so
deleted file mode 100755
index a1f01d7..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32573_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32574_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32574_archive_1.so
deleted file mode 100755
index c3950e9..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32574_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32575_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32575_archive_1.so
deleted file mode 100755
index aaeb9f4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32575_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32576_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32576_archive_1.so
deleted file mode 100755
index af9b2ee..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32576_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32577_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32577_archive_1.so
deleted file mode 100755
index 4ddf76b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32577_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32578_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32578_archive_1.so
deleted file mode 100755
index 5d72698..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32578_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32579_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32579_archive_1.so
deleted file mode 100755
index e0da35f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_32579_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64094_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64094_archive_1.so
deleted file mode 100755
index 81768e1..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64094_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64123_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64123_archive_1.so
deleted file mode 100755
index a048a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_64123_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_csrc0.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_csrc0.so
deleted file mode 100755
index 1a959ff..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_csrc0.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_prev_archive_1.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_prev_archive_1.so
deleted file mode 100755
index f9266c0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/_prev_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/binmap.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/binmap.sdb
deleted file mode 100644
index 4d6f43f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/binmap.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/build_db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/build_db
deleted file mode 100755
index 558da36..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/build_db
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' -static_dbgen_only -daidir=$1 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_bcode.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_bcode.db
deleted file mode 100644
index 757c06d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_bcode.db
+++ /dev/null
@@ -1,561 +0,0 @@
-sid sirv_gnrl_xchecker
-bcid 0 0 WIDTH,32 CALL_ARG_VAL,2,0 WIDTH,1 XOR_REDUCE OPT_CONST_4ST,1,1 NEQU RET
-sid clk_gen
-bcid 1 0 WIDTH,4 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-sid spi_sys_0000
-bcid 2 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 3 1 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 4 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 5 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 6 4 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND RET
-bcid 7 5 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 8 6 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-bcid 9 7 WIDTH,5 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 10 8 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 11 9 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 12 10 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 13 11 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 AND AND AND RET
-bcid 14 12 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 15 13 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 16 14 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,2 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,2 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,2 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 17 15 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND OR CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,27 WIDTH,1 M_EQU AND AND RET
-bcid 18 16 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,25 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,25 CALL_ARG_VAL,4,0 WIDTH,1 CALL_ARG_VAL,5,0 WIDTH,25 CALL_ARG_VAL,6,0 OPT_CONST,4 ADD CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 19 17 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 20 18 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 WIDTH,5 CALL_ARG_VAL,5,0 OPT_CONST,28 WIDTH,1 M_EQU AND AND RET
-bcid 21 19 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 22 20 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 M_EQU AND AND RET
-bcid 23 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 WIDTH,2 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,1 OPT_CONST,0 WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 24 22 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_NEQU RET
-sid spi_slave
-bcid 25 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 26 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 27 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 28 3 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 M_EQU AND AND RET
-bcid 29 4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 M_EQU AND AND RET
-bcid 30 5 WIDTH,5 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 NOT WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,5 SLICE,1 WIDTH,1 M_EQU AND AND RET
-bcid 31 6 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND AND RET
-bcid 32 7 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND CALL_ARG_VAL,4,0 OR CALL_ARG_VAL,5,0 WIDTH,5 CALL_ARG_VAL,6,0 OPT_CONST,29 WIDTH,1 M_EQU AND AND RET
-bcid 33 8 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,8 CALL_ARG_VAL,4,0 OPT_CONST,4 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 RET
-bcid 34 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 RET
-bcid 35 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 36 11 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 37 12 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 38 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 39 14 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 40 15 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,5 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 41 16 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,6 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 42 17 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,7 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 43 18 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,8 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 44 19 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,9 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 45 20 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 46 21 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,11 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 47 22 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,12 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 48 23 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,13 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 49 24 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,14 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 50 25 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,15 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,15 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 51 26 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,14 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,16 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 52 27 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,13 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,17 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 53 28 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,12 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,18 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 54 29 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,19 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 55 30 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,20 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 56 31 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,9 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,21 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 57 32 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,22 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 58 33 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,7 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,23 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 59 34 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,24 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 60 35 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,5 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,25 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 61 36 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,26 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 62 37 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,27 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 63 38 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,28 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 64 39 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,29 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-bcid 65 40 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,30 WIDTH,1 SLICE,1 MITECONDNOINSTR,4 RET
-sid spi_bus_decoder_0000
-bcid 66 0 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 67 1 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 68 2 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 69 3 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,20 MULTI_CONCATENATE,1,20 WIDTH,25 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,20 SLICE,1 AND RET
-bcid 70 4 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 71 5 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 72 6 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 73 7 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 WIDTH,32 MULTI_CONCATENATE,1,32 CALL_ARG_VAL,3,0 AND RET
-bcid 74 8 WIDTH,4 CALL_ARG_VAL,2,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 AND RET
-sid systemregfile
-bcid 75 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,32 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,88 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,8 OPT_CONST,218 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 76 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU WIDTH,4 OPT_CONST,4 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 77 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,19 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,23,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 78 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,8 WIDTH,11 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1541 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,1109 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,11 OPT_CONST,8 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 79 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 80 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,33,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 81 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,35,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,37,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 82 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU CALL_ARG_VAL,11,0 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU CALL_ARG_VAL,13,0 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,8 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU CALL_ARG_VAL,27,0 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU CALL_ARG_VAL,29,0 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU CALL_ARG_VAL,31,0 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,19 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU OPT_CONST,1 CALL_ARG_VAL,45,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,46,0 OPT_CONST,1 EQU OPT_CONST,0 CALL_ARG_VAL,47,0 OPT_CONST,1 EQU OPT_CONST,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 83 8 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,32 PAD RET
-bcid 84 9 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 85 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 86 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 87 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 88 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 89 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 90 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 91 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 92 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 93 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 94 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 95 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 96 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 97 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 98 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 99 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 100 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 101 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 102 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 103 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 104 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 105 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 106 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 107 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 108 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 109 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 110 35 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 111 36 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 112 37 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_NEQU RET
-sid DW_sync_0000
-bcid 113 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid DW_pulse_sync_0000
-bcid 114 0 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,1 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 NOT AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,2 WIDTH,1 EQU CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,5,0 AND CALL_ARG_VAL,4,0 XOR WIDTH,32 PARAMETER,2 OPT_CONST,3 WIDTH,1 EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,5,0 CALL_ARG_VAL,4,0 XOR XOR OPT_CONST_4ST,1,1 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 115 1 WIDTH,32 PARAMETER,2 OPT_CONST,0 WIDTH,1 M_NEQU WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,1 SLICE,1 WIDTH,2 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 XOR MITECONDNOINSTR,4 RET
-sid ulink_descrambler_32
-bcid 116 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 XOR CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid syn_fwft_fifo
-bcid 117 0 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 118 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 119 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,510 WIDTH,1 M_GT RET
-bcid 120 3 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 121 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 122 5 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 123 6 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 124 7 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 125 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,128 CONST,0,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-sid ulink_frame_receiver_0000
-bcid 126 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,16 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,16 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 127 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,4 MULTI_CONCATENATE,1,4 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 NOT OR RET
-bcid 128 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 WIDTH,1 M_NEQU AND RET
-sid ulink_rx
-bcid 129 0 WIDTH,20 CALL_ARG_VAL,2,0 OPT_CONST,10000 WIDTH,1 M_NEQU RET
-bcid 130 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 OPT_CONST,9999 WIDTH,1 M_EQU AND RET
-bcid 131 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,20 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 132 3 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 133 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 134 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 135 6 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND AND RET
-bcid 136 7 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND AND RET
-bcid 137 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,20 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,2 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 138 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,3,0 ADD MITECONDNOINSTR,4 RET
-bcid 139 10 WIDTH,128 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 SLICE,1 OPT_CONST,-1128481604 WIDTH,1 M_EQU RET
-bcid 140 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,4,0 OPT_CONST,0 CALL_ARG_VAL,5,0 OPT_CONST,0 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 141 12 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 142 13 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 MULTI_CONCATENATE,1,3 RET
-sid pulse_generator
-bcid 143 0 WIDTH,16 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET
-sid tsdn28hpcpuhdb4096x128m4mw_170a
-bcid 144 0 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 145 1 WIDTH,1 OPT_CONST,0 RET
-bcid 146 2 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 147 3 WIDTH,1 OPT_CONST,0 RET
-bcid 148 4 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 149 5 WIDTH,1 OPT_CONST,0 RET
-bcid 150 6 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 151 7 WIDTH,1 OPT_CONST,0 RET
-bcid 152 8 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 153 9 WIDTH,1 OPT_CONST,0 RET
-bcid 154 10 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 155 11 WIDTH,1 OPT_CONST,0 RET
-bcid 156 12 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 157 13 WIDTH,1 OPT_CONST,0 RET
-bcid 158 14 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 159 15 WIDTH,1 OPT_CONST,0 RET
-bcid 160 16 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 161 17 WIDTH,1 OPT_CONST,0 RET
-bcid 162 18 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 163 19 WIDTH,1 OPT_CONST,0 RET
-bcid 164 20 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 165 21 WIDTH,1 OPT_CONST,0 RET
-bcid 166 22 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 167 23 WIDTH,1 OPT_CONST,0 RET
-bcid 168 24 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 169 25 WIDTH,1 OPT_CONST,0 RET
-bcid 170 26 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 171 27 WIDTH,1 OPT_CONST,0 RET
-bcid 172 28 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 173 29 WIDTH,1 OPT_CONST,0 RET
-bcid 174 30 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 175 31 WIDTH,1 OPT_CONST,0 RET
-bcid 176 32 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 177 33 WIDTH,1 OPT_CONST,0 RET
-bcid 178 34 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 179 35 WIDTH,1 OPT_CONST,0 RET
-bcid 180 36 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 181 37 WIDTH,1 OPT_CONST,0 RET
-bcid 182 38 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 183 39 WIDTH,1 OPT_CONST,0 RET
-bcid 184 40 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 185 41 WIDTH,1 OPT_CONST,0 RET
-bcid 186 42 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 187 43 WIDTH,1 OPT_CONST,0 RET
-bcid 188 44 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 189 45 WIDTH,1 OPT_CONST,0 RET
-bcid 190 46 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 191 47 WIDTH,1 OPT_CONST,0 RET
-bcid 192 48 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 193 49 WIDTH,1 OPT_CONST,0 RET
-bcid 194 50 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 195 51 WIDTH,1 OPT_CONST,0 RET
-bcid 196 52 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 197 53 WIDTH,1 OPT_CONST,0 RET
-bcid 198 54 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 199 55 WIDTH,1 OPT_CONST,0 RET
-bcid 200 56 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 201 57 WIDTH,1 OPT_CONST,0 RET
-bcid 202 58 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 203 59 WIDTH,1 OPT_CONST,0 RET
-bcid 204 60 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 205 61 WIDTH,1 OPT_CONST,0 RET
-bcid 206 62 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 207 63 WIDTH,1 OPT_CONST,0 RET
-bcid 208 64 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 209 65 WIDTH,1 OPT_CONST,0 RET
-bcid 210 66 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 211 67 WIDTH,1 OPT_CONST,0 RET
-bcid 212 68 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 213 69 WIDTH,1 OPT_CONST,0 RET
-bcid 214 70 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 215 71 WIDTH,1 OPT_CONST,0 RET
-bcid 216 72 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 217 73 WIDTH,1 OPT_CONST,0 RET
-bcid 218 74 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 219 75 WIDTH,1 OPT_CONST,0 RET
-bcid 220 76 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 221 77 WIDTH,1 OPT_CONST,0 RET
-bcid 222 78 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 223 79 WIDTH,1 OPT_CONST,0 RET
-bcid 224 80 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 225 81 WIDTH,1 OPT_CONST,0 RET
-bcid 226 82 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 227 83 WIDTH,1 OPT_CONST,0 RET
-bcid 228 84 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 229 85 WIDTH,1 OPT_CONST,0 RET
-bcid 230 86 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 231 87 WIDTH,1 OPT_CONST,0 RET
-bcid 232 88 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 233 89 WIDTH,1 OPT_CONST,0 RET
-bcid 234 90 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 235 91 WIDTH,1 OPT_CONST,0 RET
-bcid 236 92 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 237 93 WIDTH,1 OPT_CONST,0 RET
-bcid 238 94 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 239 95 WIDTH,1 OPT_CONST,0 RET
-bcid 240 96 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 241 97 WIDTH,1 OPT_CONST,0 RET
-bcid 242 98 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 243 99 WIDTH,1 OPT_CONST,0 RET
-bcid 244 100 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 245 101 WIDTH,1 OPT_CONST,0 RET
-bcid 246 102 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 247 103 WIDTH,1 OPT_CONST,0 RET
-bcid 248 104 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 249 105 WIDTH,1 OPT_CONST,0 RET
-bcid 250 106 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 251 107 WIDTH,1 OPT_CONST,0 RET
-bcid 252 108 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 253 109 WIDTH,1 OPT_CONST,0 RET
-bcid 254 110 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 255 111 WIDTH,1 OPT_CONST,0 RET
-bcid 256 112 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 257 113 WIDTH,1 OPT_CONST,0 RET
-bcid 258 114 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 259 115 WIDTH,1 OPT_CONST,0 RET
-bcid 260 116 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 261 117 WIDTH,1 OPT_CONST,0 RET
-bcid 262 118 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 263 119 WIDTH,1 OPT_CONST,0 RET
-bcid 264 120 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 265 121 WIDTH,1 OPT_CONST,0 RET
-bcid 266 122 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 267 123 WIDTH,1 OPT_CONST,0 RET
-bcid 268 124 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 269 125 WIDTH,1 OPT_CONST,0 RET
-bcid 270 126 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 271 127 WIDTH,1 OPT_CONST,0 RET
-bcid 272 128 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 273 129 WIDTH,1 OPT_CONST,0 RET
-bcid 274 130 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 275 131 WIDTH,1 OPT_CONST,0 RET
-bcid 276 132 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 277 133 WIDTH,1 OPT_CONST,0 RET
-bcid 278 134 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 279 135 WIDTH,1 OPT_CONST,0 RET
-bcid 280 136 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 281 137 WIDTH,1 OPT_CONST,0 RET
-bcid 282 138 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 283 139 WIDTH,1 OPT_CONST,0 RET
-bcid 284 140 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 285 141 WIDTH,1 OPT_CONST,0 RET
-bcid 286 142 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 287 143 WIDTH,1 OPT_CONST,0 RET
-bcid 288 144 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 289 145 WIDTH,1 OPT_CONST,0 RET
-bcid 290 146 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 291 147 WIDTH,1 OPT_CONST,0 RET
-bcid 292 148 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 293 149 WIDTH,1 OPT_CONST,0 RET
-bcid 294 150 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 295 151 WIDTH,1 OPT_CONST,0 RET
-bcid 296 152 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 297 153 WIDTH,1 OPT_CONST,0 RET
-bcid 298 154 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 299 155 WIDTH,1 OPT_CONST,0 RET
-bcid 300 156 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 301 157 WIDTH,1 OPT_CONST,0 RET
-bcid 302 158 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 303 159 WIDTH,1 OPT_CONST,0 RET
-bcid 304 160 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 305 161 WIDTH,1 OPT_CONST,0 RET
-bcid 306 162 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 307 163 WIDTH,1 OPT_CONST,0 RET
-bcid 308 164 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 309 165 WIDTH,1 OPT_CONST,0 RET
-bcid 310 166 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 311 167 WIDTH,1 OPT_CONST,0 RET
-bcid 312 168 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 313 169 WIDTH,1 OPT_CONST,0 RET
-bcid 314 170 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 315 171 WIDTH,1 OPT_CONST,0 RET
-bcid 316 172 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 317 173 WIDTH,1 OPT_CONST,0 RET
-bcid 318 174 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 319 175 WIDTH,1 OPT_CONST,0 RET
-bcid 320 176 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 321 177 WIDTH,1 OPT_CONST,0 RET
-bcid 322 178 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 323 179 WIDTH,1 OPT_CONST,0 RET
-bcid 324 180 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 325 181 WIDTH,1 OPT_CONST,0 RET
-bcid 326 182 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 327 183 WIDTH,1 OPT_CONST,0 RET
-bcid 328 184 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 329 185 WIDTH,1 OPT_CONST,0 RET
-bcid 330 186 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 331 187 WIDTH,1 OPT_CONST,0 RET
-bcid 332 188 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 333 189 WIDTH,1 OPT_CONST,0 RET
-bcid 334 190 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 335 191 WIDTH,1 OPT_CONST,0 RET
-bcid 336 192 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 337 193 WIDTH,1 OPT_CONST,0 RET
-bcid 338 194 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 339 195 WIDTH,1 OPT_CONST,0 RET
-bcid 340 196 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 341 197 WIDTH,1 OPT_CONST,0 RET
-bcid 342 198 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 343 199 WIDTH,1 OPT_CONST,0 RET
-bcid 344 200 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 345 201 WIDTH,1 OPT_CONST,0 RET
-bcid 346 202 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 347 203 WIDTH,1 OPT_CONST,0 RET
-bcid 348 204 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 349 205 WIDTH,1 OPT_CONST,0 RET
-bcid 350 206 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 351 207 WIDTH,1 OPT_CONST,0 RET
-bcid 352 208 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 353 209 WIDTH,1 OPT_CONST,0 RET
-bcid 354 210 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 355 211 WIDTH,1 OPT_CONST,0 RET
-bcid 356 212 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 357 213 WIDTH,1 OPT_CONST,0 RET
-bcid 358 214 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 359 215 WIDTH,1 OPT_CONST,0 RET
-bcid 360 216 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 361 217 WIDTH,1 OPT_CONST,0 RET
-bcid 362 218 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 363 219 WIDTH,1 OPT_CONST,0 RET
-bcid 364 220 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 365 221 WIDTH,1 OPT_CONST,0 RET
-bcid 366 222 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 367 223 WIDTH,1 OPT_CONST,0 RET
-bcid 368 224 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 369 225 WIDTH,1 OPT_CONST,0 RET
-bcid 370 226 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 371 227 WIDTH,1 OPT_CONST,0 RET
-bcid 372 228 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 373 229 WIDTH,1 OPT_CONST,0 RET
-bcid 374 230 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 375 231 WIDTH,1 OPT_CONST,0 RET
-bcid 376 232 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 377 233 WIDTH,1 OPT_CONST,0 RET
-bcid 378 234 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 379 235 WIDTH,1 OPT_CONST,0 RET
-bcid 380 236 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 381 237 WIDTH,1 OPT_CONST,0 RET
-bcid 382 238 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 383 239 WIDTH,1 OPT_CONST,0 RET
-bcid 384 240 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 385 241 WIDTH,1 OPT_CONST,0 RET
-bcid 386 242 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 387 243 WIDTH,1 OPT_CONST,0 RET
-bcid 388 244 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 389 245 WIDTH,1 OPT_CONST,0 RET
-bcid 390 246 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 391 247 WIDTH,1 OPT_CONST,0 RET
-bcid 392 248 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 393 249 WIDTH,1 OPT_CONST,0 RET
-bcid 394 250 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 395 251 WIDTH,1 OPT_CONST,0 RET
-bcid 396 252 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 397 253 WIDTH,1 OPT_CONST,0 RET
-bcid 398 254 WIDTH,1 OPT_CONST_4ST,1,1 RET
-bcid 399 255 WIDTH,1 OPT_CONST,0 RET
-sid dpram
-bcid 400 0 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,3,0 AND WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,512 MULTI_CONCATENATE,1,512 CALL_ARG_VAL,4,0 AND OR RET
-bcid 401 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 MULTI_CONCATENATE,1,8 RET
-sid awg_top
-bcid 402 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,6 OPT_CONST,0 WIDTH,19 CONCATENATE,2 MITECONDNOINSTR,4 RET
-bcid 403 1 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 404 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 405 3 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,30 WIDTH,1 M_GT RET
-bcid 406 4 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 407 5 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 408 6 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-bcid 409 7 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 410 8 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 411 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 412 10 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND RET
-bcid 413 11 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT AND RET
-bcid 414 12 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 AND RET
-bcid 415 13 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 NOT AND AND RET
-bcid 416 14 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 417 15 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,31 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OR NOT AND RET
-bcid 418 16 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 AND AND RET
-bcid 419 17 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 AND WIDTH,3 OPT_CONST,1 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,5,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,6,0 AND WIDTH,3 OPT_CONST,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,7,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,8,0 AND WIDTH,3 OPT_CONST,2 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU CALL_ARG_VAL,9,0 AND WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 420 18 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OR OR CALL_ARG_VAL,5,0 NOT AND RET
-bcid 421 19 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 422 20 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,13 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 423 21 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,13 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,13 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 424 22 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 M_NEQU AND AND RET
-bcid 425 23 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 426 24 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 427 25 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,31 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 428 26 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,31 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,31 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 429 27 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,512 CALL_ARG_VAL,3,0 WIDTH,1 CALL_ARG_VAL,4,0 WIDTH,8 CALL_ARG_VAL,5,0 WIDTH,512 MULTI_CONCATENATE,1,64 CONST,0,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 430 28 WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU WIDTH,3 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU OR RET
-bcid 431 29 WIDTH,13 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 ADD RET
-sid ramp_gen_0000
-bcid 432 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 433 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 434 2 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,8 SHIFT_L RET
-bcid 435 3 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,2 WIDTH,8 SHIFT_L RET
-bcid 436 4 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,3 WIDTH,8 SHIFT_L RET
-bcid 437 5 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,4 WIDTH,8 SHIFT_L RET
-bcid 438 6 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,5 WIDTH,8 SHIFT_L RET
-bcid 439 7 WIDTH,8 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,6 WIDTH,8 SHIFT_L RET
-sid dac_regfile
-bcid 440 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU CALL_ARG_VAL,49,0 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 441 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 442 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,51,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 443 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,10 WIDTH,22 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 444 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,13,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,15,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,17,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,19,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,31,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,33,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,35,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,37,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,39,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,41,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,42,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,43,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,44,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,45,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,46,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,47,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,48,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,49,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,50,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,51,0 OPT_CONST,4 WIDTH,6 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 445 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,8,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,10 WIDTH,22 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,10 WIDTH,22 SLICE,1 CALL_ARG_VAL,21,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 446 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,10,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,12,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,4 WIDTH,6 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,4 WIDTH,6 SLICE,1 CALL_ARG_VAL,23,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 447 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,14,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,16,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 448 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,1 WIDTH,2 SLICE,1 CALL_ARG_VAL,33,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 449 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 OPT_CONST,539362576 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,3,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,5,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,6,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,7,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,8,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,9,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,10,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,11,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,10 CALL_ARG_VAL,12,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,13,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,14,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,15,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,16,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,17,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,18,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,19,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,20,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,21,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,22,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,23,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,24,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,25,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,26,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,27,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,28,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,29,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,30,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,31,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,32,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,33,0 OPT_CONST,1 XNOR OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,34,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,35,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 450 10 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 451 11 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 452 12 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 453 13 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 454 14 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 455 15 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 456 16 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 457 17 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 458 18 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 459 19 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 460 20 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 461 21 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 462 22 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 463 23 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 464 24 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 465 25 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 466 26 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 467 27 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 468 28 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 469 29 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 470 30 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 471 31 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-bcid 472 32 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,22 WIDTH,1 M_EQU RET
-bcid 473 33 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,23 WIDTH,1 M_EQU RET
-bcid 474 34 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,24 WIDTH,1 M_EQU RET
-bcid 475 35 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,25 WIDTH,1 M_EQU RET
-bcid 476 36 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,26 WIDTH,1 M_EQU RET
-bcid 477 37 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,27 WIDTH,1 M_EQU RET
-bcid 478 38 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,1 M_EQU RET
-bcid 479 39 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,29 WIDTH,1 M_EQU RET
-bcid 480 40 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,30 WIDTH,1 M_EQU RET
-bcid 481 41 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,31 WIDTH,1 M_EQU RET
-bcid 482 42 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,32 WIDTH,1 M_EQU RET
-bcid 483 43 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,33 WIDTH,1 M_EQU RET
-bcid 484 44 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,34 WIDTH,1 M_EQU RET
-bcid 485 45 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,35 WIDTH,1 M_EQU RET
-bcid 486 46 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,36 WIDTH,1 M_EQU RET
-bcid 487 47 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,37 WIDTH,1 M_EQU RET
-bcid 488 48 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,38 WIDTH,1 M_EQU RET
-bcid 489 49 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,39 WIDTH,1 M_EQU RET
-bcid 490 50 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,40 WIDTH,1 M_EQU RET
-bcid 491 51 WIDTH,14 CALL_ARG_VAL,2,0 OPT_CONST,41 WIDTH,1 M_EQU RET
-sid clk_regfile
-bcid 492 0 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,24 WIDTH,8 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,24 WIDTH,8 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 493 1 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,20 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 494 2 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,7,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,11,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,16 WIDTH,4 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 495 3 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,21,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,9 WIDTH,7 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 496 4 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,6 WIDTH,3 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 497 5 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,5 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 498 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,23,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,25,0 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,27,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,29,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,4 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 499 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,3 WIDTH,1 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 500 8 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 WIDTH,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,41,0 WIDTH,32 OPT_CONST,1 WIDTH,2 SLICE,1 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 501 9 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,6,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,7,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,8,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,9,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,10,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,11,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,13,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,14,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,15,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,16,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,17,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,18,0 OPT_CONST,1 EQU WIDTH,16 CALL_ARG_VAL,19,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,20,0 OPT_CONST,1 EQU WIDTH,9 CALL_ARG_VAL,21,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,22,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,23,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,24,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG_VAL,25,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,26,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,27,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,28,0 OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,29,0 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,30,0 OPT_CONST,1 EQU WIDTH,6 CALL_ARG_VAL,31,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,32,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,33,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,34,0 OPT_CONST,1 EQU WIDTH,24 CALL_ARG_VAL,35,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,36,0 OPT_CONST,1 EQU WIDTH,20 CALL_ARG_VAL,37,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,38,0 OPT_CONST,1 EQU WIDTH,3 CALL_ARG_VAL,39,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,40,0 OPT_CONST,1 EQU CALL_ARG_VAL,41,0 CALL_ARG_VAL,42,0 OPT_CONST,1 EQU WIDTH,5 CALL_ARG_VAL,43,0 WIDTH,32 OPT_CONST,0 WIDTH,1 SLICE,1 CALL_ARG_VAL,44,0 OPT_CONST,1 EQU CALL_ARG_VAL,45,0 OPT_CONST,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 502 10 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 503 11 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU RET
-bcid 504 12 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU RET
-bcid 505 13 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,3 WIDTH,1 M_EQU RET
-bcid 506 14 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,4 WIDTH,1 M_EQU RET
-bcid 507 15 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,5 WIDTH,1 M_EQU RET
-bcid 508 16 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,6 WIDTH,1 M_EQU RET
-bcid 509 17 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,7 WIDTH,1 M_EQU RET
-bcid 510 18 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,8 WIDTH,1 M_EQU RET
-bcid 511 19 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,9 WIDTH,1 M_EQU RET
-bcid 512 20 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,10 WIDTH,1 M_EQU RET
-bcid 513 21 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,11 WIDTH,1 M_EQU RET
-bcid 514 22 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,12 WIDTH,1 M_EQU RET
-bcid 515 23 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,13 WIDTH,1 M_EQU RET
-bcid 516 24 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,14 WIDTH,1 M_EQU RET
-bcid 517 25 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,15 WIDTH,1 M_EQU RET
-bcid 518 26 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,16 WIDTH,1 M_EQU RET
-bcid 519 27 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,17 WIDTH,1 M_EQU RET
-bcid 520 28 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,18 WIDTH,1 M_EQU RET
-bcid 521 29 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,19 WIDTH,1 M_EQU RET
-bcid 522 30 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,20 WIDTH,1 M_EQU RET
-bcid 523 31 WIDTH,6 CALL_ARG_VAL,2,0 OPT_CONST,21 WIDTH,1 M_EQU RET
-sid da4008_chip_top
-bcid 524 0 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,2 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD MITECONDNOINSTR,4 WIDTH,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 AND OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU OPT_CONST,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,4,0 OPT_CONST,1 SUBTRACT MITECONDNOINSTR,4 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 525 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,8 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 526 2 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 527 3 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 WIDTH,32 PAD OPT_CONST,31 WIDTH,1 NEQU WIDTH,5 MULTI_CONCATENATE,1,5 CALL_ARG_VAL,3,0 WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,5 SLICE,1 ADD AND CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 528 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 SLICE,1 NOT WIDTH,32 CONCATENATE,2 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 529 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 EQU AND CALL_ARG_VAL,4,0 NOT CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 530 6 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU CALL_ARG_VAL,3,0 OPT_CONST_4ST,1,1 EQU OR OPT_CONST_4ST,1,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,32 OPT_CONST,16 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD WIDTH,1 M_GT AND OPT_CONST,1 WIDTH,5 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,15 WIDTH,1 M_GT OPT_CONST,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 531 7 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST_4ST,1,1 EQU WIDTH,4 OPT_CONST_4ST,15,15 WIDTH,1 CALL_ARG_VAL,2,0 OPT_CONST,1 EQU WIDTH,4 CALL_ARG,3 CALL_ARG_VAL,5,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 532 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-bcid 533 9 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,0 WIDTH,1 M_EQU AND RET
-bcid 534 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 M_EQU AND RET
-bcid 535 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 NOT AND OPT_CONST,1 CALL_ARG_VAL,3,0 OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 536 12 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,2,0 NOT CALL_ARG_VAL,3,0 NOT CALL_ARG_VAL,4,0 AND AND OPT_CONST,0 CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 537 13 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 SM_GT RET
-bcid 538 14 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1 WIDTH,1 EQU WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,0 WIDTH,1 EQU AND AND RET
-sid TB
-bcid 539 0 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,6 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,6 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_dummy_file b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_dummy_file
deleted file mode 100644
index 9ec9235..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cc/cc_dummy_file
+++ /dev/null
@@ -1,2 +0,0 @@
-Dummy_file
-Missing line/file info
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cgname.json b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cgname.json
deleted file mode 100644
index eb59b57..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/cgname.json
+++ /dev/null
@@ -1,920 +0,0 @@
-{
- "PDUW16DGZ_H_G": [
- "PDUW16DGZ_H_G",
- "M7qR3",
- "module",
- 38
- ],
- "PDB3AC_V_G": [
- "PDB3AC_V_G",
- "dviib",
- "module",
- 9
- ],
- "dac_regfile": [
- "dac_regfile",
- "LR0zI",
- "module",
- 118
- ],
- "PRUW16SDGZ_V_G": [
- "PRUW16SDGZ_V_G",
- "psjSY",
- "module",
- 71
- ],
- "PDUW04SDGZ_H_G": [
- "PDUW04SDGZ_H_G",
- "wGYhm",
- "module",
- 28
- ],
- "_vcs_unit__348857874": [
- "_vcs_unit__348857874",
- "FgDcH",
- "module",
- 1
- ],
- "PVSS2A_V_G": [
- "PVSS2A_V_G",
- "fMI2k",
- "module",
- 99
- ],
- "PENDCAPA_G": [
- "PENDCAPA_G",
- "wpYca",
- "module",
- 45
- ],
- "PDDW08DGZ_V_G": [
- "PDDW08DGZ_V_G",
- "K0TuH",
- "module",
- 15
- ],
- "PDDW16SDGZ_V_G": [
- "PDDW16SDGZ_V_G",
- "ebe78",
- "module",
- 25
- ],
- "PDUW12SDGZ_V_G": [
- "PDUW12SDGZ_V_G",
- "qCQFW",
- "module",
- 37
- ],
- "PDUW12SDGZ_H_G": [
- "PDUW12SDGZ_H_G",
- "uKPxf",
- "module",
- 36
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 2
- ],
- "sram_if_0002": [
- "sram_if_0002",
- "bEAZ8",
- "module",
- 133
- ],
- "PCLAMP_G": [
- "PCLAMP_G",
- "DA1Pu",
- "module",
- 3
- ],
- "PVDD2POC_V_G": [
- "PVDD2POC_V_G",
- "urn8Q",
- "module",
- 85
- ],
- "PDUW16DGZ_V_G": [
- "PDUW16DGZ_V_G",
- "FDqaf",
- "module",
- 39
- ],
- "iopad": [
- "iopad",
- "ga3jL",
- "module",
- 114
- ],
- "PVSS1ANA_V_G": [
- "PVSS1ANA_V_G",
- "gL5Pd",
- "module",
- 95
- ],
- "PDUW08DGZ_V_G": [
- "PDUW08DGZ_V_G",
- "aEWK6",
- "module",
- 31
- ],
- "PRDW12SDGZ_V_G": [
- "PRDW12SDGZ_V_G",
- "zIUFF",
- "module",
- 55
- ],
- "PDB3A_V_G": [
- "PDB3A_V_G",
- "xqWfY",
- "module",
- 7
- ],
- "PVDD3A_V_G": [
- "PVDD3A_V_G",
- "t6fPF",
- "module",
- 87
- ],
- "PRDW16DGZ_V_G": [
- "PRDW16DGZ_V_G",
- "Jztd6",
- "module",
- 57
- ],
- "PRUW12SDGZ_V_G": [
- "PRUW12SDGZ_V_G",
- "yt645",
- "module",
- 67
- ],
- "PDXOEDG_V_G": [
- "PDXOEDG_V_G",
- "EZF3t",
- "module",
- 43
- ],
- "da4008_chip_top": [
- "da4008_chip_top",
- "ircEj",
- "module",
- 141
- ],
- "PDDW12SDGZ_H_G": [
- "PDDW12SDGZ_H_G",
- "KpuhN",
- "module",
- 20
- ],
- "PDDW04SDGZ_H_G": [
- "PDDW04SDGZ_H_G",
- "CQ4ek",
- "module",
- 12
- ],
- "PCLAMPC_H_G": [
- "PCLAMPC_H_G",
- "UyGax",
- "module",
- 4
- ],
- "PRDW16SDGZ_V_G": [
- "PRDW16SDGZ_V_G",
- "YRh5I",
- "module",
- 59
- ],
- "PVSS3DGZ_V_G": [
- "PVSS3DGZ_V_G",
- "IZu3i",
- "module",
- 111
- ],
- "PVDD3AC_H_G": [
- "PVDD3AC_H_G",
- "U0PST",
- "module",
- 88
- ],
- "PCLAMPC_V_G": [
- "PCLAMPC_V_G",
- "EyyeT",
- "module",
- 5
- ],
- "PRDW08SDGZ_V_G": [
- "PRDW08SDGZ_V_G",
- "JznNw",
- "module",
- 51
- ],
- "PDDW12DGZ_V_G": [
- "PDDW12DGZ_V_G",
- "eR5Zz",
- "module",
- 19
- ],
- "PDDW08DGZ_H_G": [
- "PDDW08DGZ_H_G",
- "C0gYT",
- "module",
- 14
- ],
- "PVSS2DGZ_V_G": [
- "PVSS2DGZ_V_G",
- "S5Dr6",
- "module",
- 105
- ],
- "PDB3A_H_G": [
- "PDB3A_H_G",
- "dfLHW",
- "module",
- 6
- ],
- "rst_gen_unit": [
- "rst_gen_unit",
- "anuMN",
- "module",
- 124
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array": [
- "tsdn28hpcpuhdb4096x128m4mw_170a_Int_Array",
- "bghMB",
- "module",
- 113
- ],
- "PDDW16SDGZ_H_G": [
- "PDDW16SDGZ_H_G",
- "HiTWu",
- "module",
- 24
- ],
- "PDUW16SDGZ_H_G": [
- "PDUW16SDGZ_H_G",
- "iWZrk",
- "module",
- 40
- ],
- "PDUW04SDGZ_V_G": [
- "PDUW04SDGZ_V_G",
- "mJZpP",
- "module",
- 29
- ],
- "PVSS3A_H_G": [
- "PVSS3A_H_G",
- "jsR1C",
- "module",
- 106
- ],
- "PDB3AC_H_G": [
- "PDB3AC_H_G",
- "LsJ1x",
- "module",
- 8
- ],
- "PDUW04DGZ_V_G": [
- "PDUW04DGZ_V_G",
- "QGhk6",
- "module",
- 27
- ],
- "PVDD3AC_V_G": [
- "PVDD3AC_V_G",
- "rZC3e",
- "module",
- 89
- ],
- "PVSS2DGZ_H_G": [
- "PVSS2DGZ_H_G",
- "ke5cH",
- "module",
- 104
- ],
- "PDDW04DGZ_V_G": [
- "PDDW04DGZ_V_G",
- "sZaSM",
- "module",
- 11
- ],
- "sram_if_0001": [
- "sram_if_0001",
- "z4wk8",
- "module",
- 132
- ],
- "PDDW04DGZ_H_G": [
- "PDDW04DGZ_H_G",
- "Z62Gy",
- "module",
- 10
- ],
- "PVDD1AC_V_G": [
- "PVDD1AC_V_G",
- "qn6Yx",
- "module",
- 75
- ],
- "PVSS2ANA_V_G": [
- "PVSS2ANA_V_G",
- "Md441",
- "module",
- 103
- ],
- "PDDW04SDGZ_V_G": [
- "PDDW04SDGZ_V_G",
- "J6fGD",
- "module",
- 13
- ],
- "PDDW16DGZ_H_G": [
- "PDDW16DGZ_H_G",
- "GzkJA",
- "module",
- 22
- ],
- "PVSS3AC_V_G": [
- "PVSS3AC_V_G",
- "i0k2A",
- "module",
- 109
- ],
- "PDDW08SDGZ_H_G": [
- "PDDW08SDGZ_H_G",
- "QjV6F",
- "module",
- 16
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 120
- ],
- "PVSS1AC_V_G": [
- "PVSS1AC_V_G",
- "I7RzE",
- "module",
- 93
- ],
- "PDDW08SDGZ_V_G": [
- "PDDW08SDGZ_V_G",
- "N1ndr",
- "module",
- 17
- ],
- "PRDW08SDGZ_H_G": [
- "PRDW08SDGZ_H_G",
- "S90qD",
- "module",
- 50
- ],
- "PDDW12DGZ_H_G": [
- "PDDW12DGZ_H_G",
- "atFKr",
- "module",
- 18
- ],
- "PDDW12SDGZ_V_G": [
- "PDDW12SDGZ_V_G",
- "Pzaun",
- "module",
- 21
- ],
- "PVDD1ANA_V_G": [
- "PVDD1ANA_V_G",
- "BL1m7",
- "module",
- 77
- ],
- "PVDD3A_H_G": [
- "PVDD3A_H_G",
- "DTJPF",
- "module",
- 86
- ],
- "PDDW16DGZ_V_G": [
- "PDDW16DGZ_V_G",
- "StNiL",
- "module",
- 23
- ],
- "PDUW04DGZ_H_G": [
- "PDUW04DGZ_H_G",
- "YTwQz",
- "module",
- 26
- ],
- "PVDD2DGZ_H_G": [
- "PVDD2DGZ_H_G",
- "nULrd",
- "module",
- 82
- ],
- "PDUW08DGZ_H_G": [
- "PDUW08DGZ_H_G",
- "KkPJH",
- "module",
- 30
- ],
- "PDUW08SDGZ_H_G": [
- "PDUW08SDGZ_H_G",
- "gxqJp",
- "module",
- 32
- ],
- "ulink_descrambler_128": [
- "ulink_descrambler_128",
- "qxEhc",
- "module",
- 121
- ],
- "sram_if": [
- "sram_if",
- "NABmh",
- "module",
- 130
- ],
- "PRCUTA_G": [
- "PRCUTA_G",
- "uuDJt",
- "module",
- 47
- ],
- "PVDD1ANA_H_G": [
- "PVDD1ANA_H_G",
- "fEWTj",
- "module",
- 76
- ],
- "PDUW08SDGZ_V_G": [
- "PDUW08SDGZ_V_G",
- "UxPrL",
- "module",
- 33
- ],
- "DA4008_DEM_Parallel_PRBS_64CH": [
- "DA4008_DEM_Parallel_PRBS_64CH",
- "q09PC",
- "module",
- 140
- ],
- "PDUW12DGZ_H_G": [
- "PDUW12DGZ_H_G",
- "HYpLe",
- "module",
- 34
- ],
- "PVSS1AC_H_G": [
- "PVSS1AC_H_G",
- "EZJLH",
- "module",
- 92
- ],
- "PDUW12DGZ_V_G": [
- "PDUW12DGZ_V_G",
- "NkwYe",
- "module",
- 35
- ],
- "PRUW16DGZ_H_G": [
- "PRUW16DGZ_H_G",
- "AVYgt",
- "module",
- 68
- ],
- "PDUW16SDGZ_V_G": [
- "PDUW16SDGZ_V_G",
- "qePm9",
- "module",
- 41
- ],
- "PDXOEDG_H_G": [
- "PDXOEDG_H_G",
- "IYQDs",
- "module",
- 42
- ],
- "PENDCAP_G": [
- "PENDCAP_G",
- "bhWYh",
- "module",
- 44
- ],
- "PRUW08DGZ_V_G": [
- "PRUW08DGZ_V_G",
- "EtT2L",
- "module",
- 61
- ],
- "PVDD2ANA_H_G": [
- "PVDD2ANA_H_G",
- "mZVHG",
- "module",
- 80
- ],
- "PRCUT_G": [
- "PRCUT_G",
- "uQmb5",
- "module",
- 46
- ],
- "DW_pulse_sync_0000": [
- "DW_pulse_sync_0000",
- "Ss3zK",
- "module",
- 150
- ],
- "PVDD1DGZ_H_G": [
- "PVDD1DGZ_H_G",
- "Eie6s",
- "module",
- 78
- ],
- "PRDW08DGZ_H_G": [
- "PRDW08DGZ_H_G",
- "swWa5",
- "module",
- 48
- ],
- "PVSS1A_H_G": [
- "PVSS1A_H_G",
- "aYKwj",
- "module",
- 90
- ],
- "PVSS1DGZ_V_G": [
- "PVSS1DGZ_V_G",
- "jHcbf",
- "module",
- 97
- ],
- "PRDW08DGZ_V_G": [
- "PRDW08DGZ_V_G",
- "ZZxj5",
- "module",
- 49
- ],
- "PRDW12DGZ_H_G": [
- "PRDW12DGZ_H_G",
- "VaZm2",
- "module",
- 52
- ],
- "PRDW12DGZ_V_G": [
- "PRDW12DGZ_V_G",
- "ZKk4u",
- "module",
- 53
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 152
- ],
- "PVDD2POC_H_G": [
- "PVDD2POC_H_G",
- "avdwk",
- "module",
- 84
- ],
- "PRDW12SDGZ_H_G": [
- "PRDW12SDGZ_H_G",
- "fTzb4",
- "module",
- 54
- ],
- "PRDW16DGZ_H_G": [
- "PRDW16DGZ_H_G",
- "EEqKt",
- "module",
- 56
- ],
- "PRDW16SDGZ_H_G": [
- "PRDW16SDGZ_H_G",
- "V63WF",
- "module",
- 58
- ],
- "PRUW12DGZ_H_G": [
- "PRUW12DGZ_H_G",
- "hpMjC",
- "module",
- 64
- ],
- "PRUW08DGZ_H_G": [
- "PRUW08DGZ_H_G",
- "fLemy",
- "module",
- 60
- ],
- "PRUW08SDGZ_H_G": [
- "PRUW08SDGZ_H_G",
- "gwpgC",
- "module",
- 62
- ],
- "dacif_0000": [
- "dacif_0000",
- "yeRHW",
- "module",
- 116
- ],
- "PRUW08SDGZ_V_G": [
- "PRUW08SDGZ_V_G",
- "VJ8Wg",
- "module",
- 63
- ],
- "PRUW12DGZ_V_G": [
- "PRUW12DGZ_V_G",
- "pucZW",
- "module",
- 65
- ],
- "PRUW12SDGZ_H_G": [
- "PRUW12SDGZ_H_G",
- "EkH6u",
- "module",
- 66
- ],
- "PRUW16DGZ_V_G": [
- "PRUW16DGZ_V_G",
- "ErxQ3",
- "module",
- 69
- ],
- "PRUW16SDGZ_H_G": [
- "PRUW16SDGZ_H_G",
- "riJVY",
- "module",
- 70
- ],
- "spi_if": [
- "spi_if",
- "IHYdB",
- "module",
- 145
- ],
- "PVDD1A_H_G": [
- "PVDD1A_H_G",
- "zNPu5",
- "module",
- 72
- ],
- "PVDD1A_V_G": [
- "PVDD1A_V_G",
- "CNBi6",
- "module",
- 73
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 122
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 128
- ],
- "PVDD1AC_H_G": [
- "PVDD1AC_H_G",
- "W9VnM",
- "module",
- 74
- ],
- "PVDD1DGZ_V_G": [
- "PVDD1DGZ_V_G",
- "sPggV",
- "module",
- 79
- ],
- "PVDD2ANA_V_G": [
- "PVDD2ANA_V_G",
- "J6VbG",
- "module",
- 81
- ],
- "PVSS3A_V_G": [
- "PVSS3A_V_G",
- "VSdee",
- "module",
- 107
- ],
- "PVDD2DGZ_V_G": [
- "PVDD2DGZ_V_G",
- "LSxxn",
- "module",
- 83
- ],
- "PVSS1A_V_G": [
- "PVSS1A_V_G",
- "ZmPik",
- "module",
- 91
- ],
- "reset_tb": [
- "reset_tb",
- "Q3Wk7",
- "module",
- 148
- ],
- "PVSS1ANA_H_G": [
- "PVSS1ANA_H_G",
- "HtwuV",
- "module",
- 94
- ],
- "PVSS1DGZ_H_G": [
- "PVSS1DGZ_H_G",
- "Zp1LH",
- "module",
- 96
- ],
- "PVSS2A_H_G": [
- "PVSS2A_H_G",
- "usz4x",
- "module",
- 98
- ],
- "PVSS2AC_H_G": [
- "PVSS2AC_H_G",
- "TqmdJ",
- "module",
- 100
- ],
- "systemregfile": [
- "systemregfile",
- "qcK8J",
- "module",
- 115
- ],
- "DW_sync_0000": [
- "DW_sync_0000",
- "zVfcK",
- "module",
- 149
- ],
- "PVSS2AC_V_G": [
- "PVSS2AC_V_G",
- "YBQ1m",
- "module",
- 101
- ],
- "PVSS2ANA_H_G": [
- "PVSS2ANA_H_G",
- "g8kcb",
- "module",
- 102
- ],
- "PVSS3AC_H_G": [
- "PVSS3AC_H_G",
- "B0f3F",
- "module",
- 108
- ],
- "PVSS3DGZ_H_G": [
- "PVSS3DGZ_H_G",
- "rq1J0",
- "module",
- 110
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 125
- ],
- "tsdn28hpcpuhdb4096x128m4mw_170a": [
- "tsdn28hpcpuhdb4096x128m4mw_170a",
- "UJ4u7",
- "module",
- 112
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 117
- ],
- "ulink_rx": [
- "ulink_rx",
- "dteMU",
- "module",
- 119
- ],
- "ulink_frame_receiver_0000": [
- "ulink_frame_receiver_0000",
- "P3BwM",
- "module",
- 123
- ],
- "pulse_generator": [
- "pulse_generator",
- "aJYLF",
- "module",
- 126
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 127
- ],
- "ramp_gen_0000": [
- "ramp_gen_0000",
- "AyqFm",
- "module",
- 129
- ],
- "sram_if_0000": [
- "sram_if_0000",
- "nJgqZ",
- "module",
- 131
- ],
- "sram_dmux_w_0000": [
- "sram_dmux_w_0000",
- "dc6nH",
- "module",
- 134
- ],
- "dpram": [
- "dpram",
- "bQxt6",
- "module",
- 135
- ],
- "clk_regfile": [
- "clk_regfile",
- "jAdLC",
- "module",
- 136
- ],
- "awg_top": [
- "awg_top",
- "J5zQK",
- "module",
- 137
- ],
- "DEM_PhaseSync_4008": [
- "DEM_PhaseSync_4008",
- "sIRhK",
- "module",
- 138
- ],
- "DA4008_DEM_Parallel_PRBS_1CH": [
- "DA4008_DEM_Parallel_PRBS_1CH",
- "cQW1k",
- "module",
- 139
- ],
- "spi_bus_decoder_0000": [
- "spi_bus_decoder_0000",
- "qLaCg",
- "module",
- 142
- ],
- "spi_slave": [
- "spi_slave",
- "eAsJz",
- "module",
- 143
- ],
- "spi_sys_0000": [
- "spi_sys_0000",
- "QT8j3",
- "module",
- 144
- ],
- "clk_gen": [
- "clk_gen",
- "MEIvW",
- "module",
- 146
- ],
- "DEM_Reverse_64CH_0000": [
- "DEM_Reverse_64CH_0000",
- "YnCHV",
- "module",
- 147
- ],
- "lvds_if": [
- "lvds_if",
- "nS0i0",
- "module",
- 151
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 153
- ]
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/constraint.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/constraint.sdb
deleted file mode 100644
index 85e2664..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/constraint.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/covg_defs b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/covg_defs
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/.version b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/.version
deleted file mode 100644
index ed555f5..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/.version
+++ /dev/null
@@ -1,4 +0,0 @@
-O-2018.09-SP2_Full64
-Build Date = Feb 28 2019 22:34:30
-RedHat
-Compile Location: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/AllModulesSkeletons.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/AllModulesSkeletons.sdb
deleted file mode 100644
index 07bd0fe..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/AllModulesSkeletons.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/HsimSigOptDb.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/HsimSigOptDb.sdb
deleted file mode 100644
index 405f474..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/HsimSigOptDb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/dumpcheck.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/dumpcheck.db
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/dve_debug.db.gz b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/dve_debug.db.gz
deleted file mode 100644
index c4df61c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/dve_debug.db.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/.create_fsearch_db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/.create_fsearch_db
deleted file mode 100755
index 72dfca3..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/.create_fsearch_db
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh -h
-PYTHONHOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/etc/search/pyh
-export PYTHONHOME
-PYTHONPATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export PYTHONPATH
-LD_LIBRARY_PATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib:/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export LD_LIBRARY_PATH
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcsfind_create_index.exe -z "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_E1cKA4.xml.gz" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/./idents_tapi.xml.gz" -o "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp"
-\mv "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db"
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/check_fsearch_db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/check_fsearch_db
deleted file mode 100755
index 1c1ff54..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/check_fsearch_db
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh -h
-
-FILE_PATH="/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch"
-lockfile="${FILE_PATH}"/lock
-
-FSearch_lock_release() {
- echo "" > /dev/null
-}
-create_fsearch_db_ctrl() {
- if [ -s "${FILE_PATH}"/fsearch.stat ]; then
- if [ -s "${FILE_PATH}"/fsearch.log ]; then
- echo "ERROR building identifier database failed. Check ${FILE_PATH}/fsearch.log"
- else
- cat "${FILE_PATH}"/fsearch.stat
- fi
- return
- fi
- nohup "$1" > "${FILE_PATH}"/fsearch.log 2>&1 193>/dev/null &
- MY_PID=`echo $!`
- BUILDER="pid ${MY_PID} ${USER}@${hostname}"
- echo "INFO Started building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier."
- echo "INFO Still building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." > "${FILE_PATH}"/fsearch.stat
- return
-}
-
-dir_name=`/bin/dirname "$0"`
-if [ "${dir_name}" = "." ]; then
- cd $dir_name
- dir_name=`/bin/pwd`
-fi
-if [ -d "$dir_name"/../../../../../../../../../../.. ]; then
- cd "$dir_name"/../../../../../../../../../../..
-fi
-
-if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db" ]; then
- if [ ! -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.db" ]; then
- if [ "$#" -eq 1 ] && [ "x$1" == "x-background" ]; then
- trap FSearch_lock_release EXIT
- (
- flock 193
- create_fsearch_db_ctrl "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- exit 193
- ) 193> "$lockfile"
- rstat=$?
- if [ "${rstat}"x != "193x" ]; then
- exit $rstat
- fi
- else
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
- fi
- elif [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
-fi
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/fsearch.stat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/fsearch.stat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz
deleted file mode 100644
index fbbb0ed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_E1cKA4.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz
deleted file mode 100644
index 56532b3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_X4vtNx.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz
deleted file mode 100644
index 125a143..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/src_files_verilog b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/src_files_verilog
deleted file mode 100644
index 376b419..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/src_files_verilog
+++ /dev/null
@@ -1,48 +0,0 @@
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tphn28hpcpgv18.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DEM_Reverse_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_pulse_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_reset_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_stream_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/DW_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/LVDS_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/SPI_DRIVER.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clk_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/clock_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/reset_tb.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/model/spi_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_ctrl.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/awg/awg_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/clk/clk_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/pulse_generator.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/ramp_gen.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/syncer.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dac_regfile/dac_regfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dacif/dacif.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_define.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/define/chip_undefine.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/dem/DEM_PhaseSync_4008.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/io/iopad.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/lvds/ulink_rx.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/bhv_spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_dmux.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/sram_if.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/tsmc_dpram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_gen_unit.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/rstgen/rst_sync.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_bus_decoder.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_pll.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_slave.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/spi/spi_sys.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/systemregfile/systemregfile.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/da4008_chip_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/top/digital_top.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/topmodules b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/topmodules
deleted file mode 100644
index 5dce012..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/topmodules
+++ /dev/null
@@ -1 +0,0 @@
-rLDB\$cCs1S%g)!tx".<8YS9I:>B;?572A*').Q)* $*+sxBI,8DOXPEP6tn7\2[eZ>$m=:2B;Rei F)BLmwlOL"VInAlO
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/vir.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/vir.sdb
deleted file mode 100644
index a29ccd6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/debug_dump/vir.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/eblklvl.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/eblklvl.db
deleted file mode 100644
index 2870040..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/eblklvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/elabmoddb.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/elabmoddb.sdb
deleted file mode 100644
index 1bf90b0..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/elabmoddb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/external_functions b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/external_functions
deleted file mode 100644
index 394a9dd..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/external_functions
+++ /dev/null
@@ -1,129 +0,0 @@
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDisplay novas_call_fsdbDisplay - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMem novas_call_fsdbDumpMem - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemNow novas_call_fsdbDumpMemNow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInScope novas_call_fsdbDumpMemInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDANow novas_call_fsdbDumpMDANow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAOnChange novas_call_fsdbDumpMDAOnChange - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAInScope novas_call_fsdbDumpMDAInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInFile novas_call_fsdbDumpMemInFile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLon novas_call_fsdbDumpPSLon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLoff novas_call_fsdbDumpPSLoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAon novas_call_fsdbDumpSVAon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAoff novas_call_fsdbDumpSVAoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpStrength novas_call_fsdbDumpStrength - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSingle novas_call_fsdbDumpSingle - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpIO novas_call_fsdbDumpIO - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPattern novas_call_fsdbDumpPattern - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSubstituteHier novas_call_fsdbSubstituteHier - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $dumpports DumpPortsIeeeCALL - DumpPortsMISC
-pli $lsi_dumpports DumpPortsLsiCALL - DumpPortsMISC
-pli $dumpportson DumpPortsOnCALL - DumpPortsMISC
-pli $dumpportsoff DumpPortsOffCALL - DumpPortsMISC
-pli $dumpportsflush DumpPortsFlushCALL - DumpPortsMISC
-pli $simlearn simLearnCall simLearnCheck simLearnMisc
-pli $dumpportsall DumpPortsAllCALL - DumpPortsMISC
-pli $dumpportslimit DumpPortsLimitCALL - DumpPortsMISC
-pli $countdrivers CountDriversCALL - -
-pli $vcsmemprof DMMemProfCALL DMMemProfCheck DMMemProfMISC
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_callgraph.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_callgraph.sdb
deleted file mode 100644
index 29ba859..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_callgraph.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_level.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_level.sdb
deleted file mode 100644
index d9372b5..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_rtime_level.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_rtime_level.sdb
deleted file mode 100644
index 93f8432..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hslevel_rtime_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hsscan_cfg.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/hsscan_cfg.dat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall.sdb
deleted file mode 100644
index c8ddf48..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32553.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32553.sdb
deleted file mode 100644
index 50736b6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32573.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32573.sdb
deleted file mode 100644
index 520f26d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32574.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32574.sdb
deleted file mode 100644
index 35d2e97..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32575.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32575.sdb
deleted file mode 100644
index db9d5d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32576.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32576.sdb
deleted file mode 100644
index 574a192..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32577.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32577.sdb
deleted file mode 100644
index c482d66..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32578.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32578.sdb
deleted file mode 100644
index 0e5abe3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32579.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32579.sdb
deleted file mode 100644
index 5dd9049..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64094.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64094.sdb
deleted file mode 100644
index 9c5b3e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64123.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64123.sdb
deleted file mode 100644
index b73abc8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/indcall_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/nsparam.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/nsparam.dat
deleted file mode 100644
index 1afe863..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcc.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcc.sdb
deleted file mode 100644
index 49aadd2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcc.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcxpxmr.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcxpxmr.dat
deleted file mode 100644
index ee5778d..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/pcxpxmr.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/prof.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/prof.sdb
deleted file mode 100644
index d6881ad..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/prof.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.dat
deleted file mode 100644
index 54fcebf..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.so b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.so
deleted file mode 100755
index 6df9faa..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/rmapats.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/saifNetInfo.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/saifNetInfo.db
deleted file mode 100644
index a69d3f9..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/saifNetInfo.db
+++ /dev/null
@@ -1,22 +0,0 @@
-7
-TB.U_da4008_chip_top.U_iopad.PDDW08SDGZ_V_G_sync_out
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_irq
-C
-Scal
-TB.U_da4008_chip_top.U_iopad.PDUW08SDGZ_V_G_miso
-C
-Scal
-tsmc_dpram
-spram_512X8192_generationBWEBA
-All
-tsmc_dpram
-spram_512X8192_generationBWEBB
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBA
-All
-tsmc_dpram
-spram_512X8192_generationU_CEBB
-All
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/simv.kdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/simv.kdb
deleted file mode 100644
index 68eacf4..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/simv.kdb
+++ /dev/null
@@ -1,16 +0,0 @@
-rc file Version 1.0
-
-[Design]
-COMPILE_PATH=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top
-SystemC=FALSE
-UUM=FALSE
-KDB=FALSE
-USE_NOVAS_HOME=FALSE
-COSIM=FALSE
-TOP=PCLAMP_G PCLAMPC_H_G PCLAMPC_V_G PDB3A_H_G PDB3A_V_G PDB3AC_H_G PDB3AC_V_G PDDW04DGZ_H_G PDDW04DGZ_V_G PDDW04SDGZ_H_G PDDW08DGZ_H_G PDDW08DGZ_V_G PDDW08SDGZ_H_G PDDW08SDGZ_V_G PDDW12DGZ_H_G PDDW12DGZ_V_G PDDW12SDGZ_H_G PDDW12SDGZ_V_G PDDW16DGZ_H_G PDDW16DGZ_V_G PDDW16SDGZ_H_G PDDW16SDGZ_V_G PDUW04DGZ_H_G PDUW04DGZ_V_G PDUW04SDGZ_H_G PDUW08DGZ_H_G PDUW08DGZ_V_G PDUW08SDGZ_H_G PDUW12DGZ_H_G PDUW12DGZ_V_G PDUW12SDGZ_H_G PDUW12SDGZ_V_G PDUW16DGZ_H_G PDUW16DGZ_V_G PDUW16SDGZ_H_G PDUW16SDGZ_V_G PDXOEDG_H_G PDXOEDG_V_G PENDCAP_G PENDCAPA_G PRCUT_G PRCUTA_G PRDW08DGZ_H_G PRDW08DGZ_V_G PRDW08SDGZ_H_G PRDW08SDGZ_V_G PRDW12DGZ_H_G PRDW12DGZ_V_G PRDW12SDGZ_H_G PRDW12SDGZ_V_G PRDW16DGZ_H_G PRDW16DGZ_V_G PRDW16SDGZ_H_G PRDW16SDGZ_V_G PRUW08DGZ_H_G PRUW08DGZ_V_G PRUW08SDGZ_H_G PRUW08SDGZ_V_G PRUW12DGZ_H_G PRUW12DGZ_V_G PRUW12SDGZ_H_G PRUW12SDGZ_V_G PRUW16DGZ_H_G PRUW16DGZ_V_G PRUW16SDGZ_H_G PRUW16SDGZ_V_G PVDD1A_H_G PVDD1A_V_G PVDD1AC_H_G PVDD1AC_V_G PVDD1ANA_H_G PVDD1ANA_V_G PVDD1DGZ_H_G PVDD1DGZ_V_G PVDD2ANA_H_G PVDD2ANA_V_G PVDD2DGZ_H_G PVDD2DGZ_V_G PVDD2POC_H_G PVDD2POC_V_G PVDD3A_H_G PVDD3A_V_G PVDD3AC_H_G PVDD3AC_V_G PVSS1A_H_G PVSS1A_V_G PVSS1AC_H_G PVSS1AC_V_G PVSS1ANA_H_G PVSS1ANA_V_G PVSS1DGZ_H_G PVSS1DGZ_V_G PVSS2A_H_G PVSS2A_V_G PVSS2AC_H_G PVSS2AC_V_G PVSS2ANA_H_G PVSS2ANA_V_G PVSS2DGZ_H_G PVSS2DGZ_V_G PVSS3A_H_G PVSS3A_V_G PVSS3AC_H_G PVSS3AC_V_G PVSS3DGZ_H_G PVSS3DGZ_V_G sirv_gnrl_xchecker sirv_gnrl_dffl sirv_gnrl_ltch clk_gen reset_tb TB
-OPTION=-ssz -ssv -ssy
-ELAB_OPTION=-ssz -ssv -ssy
-
-[Value]
-WREALX=ffff534e50535f58
-WREALZ=ffff534e50535f5a
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/stitch_nsparam.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/stitch_nsparam.dat
deleted file mode 100644
index 0357d47..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/stitch_nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/tt.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/tt.sdb
deleted file mode 100644
index d2a450a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/tt.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32553.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32553.sdb
deleted file mode 100644
index 698630c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32553.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32573.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32573.sdb
deleted file mode 100644
index fe16d76..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32573.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32574.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32574.sdb
deleted file mode 100644
index 84f865e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32574.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32575.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32575.sdb
deleted file mode 100644
index 25fe685..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32575.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32576.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32576.sdb
deleted file mode 100644
index 7f3e06e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32576.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32577.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32577.sdb
deleted file mode 100644
index 7782563..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32577.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32578.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32578.sdb
deleted file mode 100644
index 05787d6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32578.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32579.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32579.sdb
deleted file mode 100644
index 3195347..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_32579.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64094.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64094.sdb
deleted file mode 100644
index bca1a5e..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64094.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64118.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64118.sdb
deleted file mode 100644
index 905b8e8..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64118.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64119.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64119.sdb
deleted file mode 100644
index 148ba9f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64119.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64120.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64120.sdb
deleted file mode 100644
index f4ec790..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64120.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64121.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64121.sdb
deleted file mode 100644
index d5b27d3..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64121.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64122.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64122.sdb
deleted file mode 100644
index e1e2683..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64122.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64123.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64123.sdb
deleted file mode 100644
index 69ae935..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64123.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64124.sdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64124.sdb
deleted file mode 100644
index e8f7aa2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/ttIncr_64124.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcs_rebuild b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcs_rebuild
deleted file mode 100755
index 403c9c0..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcs_rebuild
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+all' '-debug_region+cell+encrypt' '-P' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/novas_new_dumper.tab' '/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/linux64/pli.a' '+define+DUMP_FSDB' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_elabout.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_elabout.db
deleted file mode 100644
index d941a4e..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_elabout.db
+++ /dev/null
@@ -1,691 +0,0 @@
-hsDirType 1
-fHsimDesignHasDebugNodes 63
-fNSParam 1024
-fLargeSizeSdfTest 0
-fHsimDelayGateMbme 0
-fNoMergeDelays 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fSharedMasterElab 0
-hsimLevelizeDone 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimTransUsingdoMpd32 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllXmrs 1
-fHsimMvsimDb 0
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpOffsetData 1
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimCgVectors2Debug 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimAllLevelSame 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimCbkOptDiag 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimOnepass 0
-fHsimStitchNew 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimSeqUdpDbsByteArray 0
-fHsimCoLocate 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimUdpDynElab 0
-fHsimCompressData 4
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimNoSched0Reg 0
-fHsimAmsFusionEnabled 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimBcOpt 1
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimScanDbgPerf 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimDumpMdb 0
-fHsimElabDiag 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCgRt 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimClasses 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fCompressSDF 0
-fDlpSvtbExclElab 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimNoPeekInMdbCell 0
-igetOpcodeSmdPtrLayoutId -1
-igetFieldSmdPtr -1
-fDebugDump 1
-fHsimOrigNodeNames 0
-fHsimCgVectors2VOnly 0
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdOptSVTypes 1
-fHsHasPeUpXmr 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimVectorGates 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgLevelize 0
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 0
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 1
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-fHsimFoldedCell 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimGateEdgeEventSched 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 151652416
-fHsimIslandByIslandFlat1 4
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fSpecifyInDesign 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsimPCSharedLibSpecified 0
-fHsFgpSchedCgUcLoads 1
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsSVNettypePerfOpt 0
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_virtintf_info.dat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_virtintf_info.dat
deleted file mode 100644
index 9b9249a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_master_hsim_virtintf_info.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hil_stmts.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hil_stmts.db
deleted file mode 100644
index e11ffed..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hil_stmts.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsdef.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsdef.db
deleted file mode 100644
index e5d4b23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsdef.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_elab.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_elab.db
deleted file mode 100644
index 187a05b..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_elab.db
+++ /dev/null
@@ -1,1217 +0,0 @@
-psSimBaseName simv
-psLogFileName compile.log
-pDaiDir /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/simv.daidir
-destPath csrc/
-fSharedMaster 0
-fHsimPCSharedLibSpecified 0
-hsMainFileCount 0
-hsMainFileName dummy
-hsAuxFileName dummy
-hsimDlpPartitionFilename 0
-partitionName 6 MASTER
-hsimInitRegValue 3
-fNSParam 1024
-hsim_noschedinl 0
-hsim_hdbs 4096
-eval_order_seq 0
-simorder_light 0
-partialelab 0
-hsim_csdf -2147483648
-fHsimRuntimeElabSdf 0
-fNtcNewSolver 0
-fHsimSdfFileOpt 0
-fHsimTransUsingdoMpd32 0
-hsDirType 1
-fHsimClasses 0
-fHsimPulseMPDelay 1
-fHsimMvsimDb 0
-fHsimMvsimDebug 0
-fHsimAllXmrs 1
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimDoXmrProcessing 1
-fNoMergeDelays 0
-uGlblTimeUnit 4
-fHsimAllMtm 0
-fSimprofileNew 0
-fHsimVhVlOpt 0
-fHsimMdbVhVlInputFuseOpt 0
-fHsimMdbVhVlInoutFuseOpt 0
-fHsimMdbVhVlCcnOpt 0
-fHsimVlVhOpt 0
-fHsimVlVhVlOpt 0
-fHsimVlVhBfuseOpt 0
-xpropMergeMode 0
-xpropUnifiedInferenceMode 0
-xpropOverride 0
-isXpropConfigEnabled 0
-fHsimVectorConst 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fNewCBSemantics 1
-fSchedAtEnd 0
-fSpecifyInDesign 0
-fHsimDumpFlatData 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceStrId 1
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllExtXmrsDiag 0
-fHsimAllExtXmrsAllowClkFusing 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimAmsNewDrs 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpElabData 1
-fHsimNoDeposit 0
-fHsimDumpOffsetData 1
-fNoOfsOpt 0
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimDynamicElabDiag 0
-fHsimPrintPats 1
-fHsimInterpreted 0
-fHsimAggressiveCodegenForDelays 1
-fHsimAggressiveCgNtcDelays 1
-fHsimCgDelaysDiag 0
-fHsimCodegenForVectors 1
-fHsimCgVectors2E 1
-fHsimCgVectors2W 1
-fHsimCgVectors2Cbk 1
-fHsimCgVectors2Force 0
-fHsimCgVectors2Debug 0
-fHsimCgVectors2Diag 0
-fHsimHdlForceInfoDiag 0
-fHsimHdlForceInfo 0
-fHsimCodegenForTcheck 1
-fHsimUdpsched 0
-fHsimUdpTetramax 0
-fHsimUdpDelta 0
-fHsimMasterNodesOpt 0
-fHsimTransOpt 1
-fHsimNoPortOBN 0
-fHsimGateGroup 0
-fHsimOldXmr 0
-fHsimConst 1
-fHsimOptimizeSeqUdp 1
-fHsimOptimizeNotifier 0
-fHsimPrintUdpTable 0
-fHsimConstDelay 0
-fHsimConstForce 0
-fHsimCcnOpt4 0
-fHsimCcnOptDiag 0
-fHsimCcn 1
-fHsimDynamicCcn 0
-fHsimTestBoundaryConditions1 0
-fHsimTestBoundaryConditions2 0
-fHsimTestBoundaryConditions3 0
-fHsimTestElabNodeLimit 0
-fHsimInsertSched0ForLhsSelects 1
-fHsimVectors 1
-fHsimOde 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeUdp 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimOde4State 0
-fHsimOdeDiag 0
-fHsimOdeWithVecNew 0
-fHsimOdeAcceptDeadGates 0
-fHsimOdeAcceptValue4Loads 0
-fHsimOdeAmdSRLatch 0
-fHsimRmvSched0OnDataOfFlop 0
-fHsimRmvSched0OnMpd 0
-fHsimAllLevelSame 0
-fHsimDbsList 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimCodeShare 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fRaptorProf 0
-fHsimVpdOptGateMustDisable 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimVpdOptDiag 0
-fHsimVpdOptRtlIncrFix 0
-fHsimVpdOptDiagV 0
-fHsimCbkOptVecWithVcsd 0
-fHsimCbkOptDiag 0
-fHsimByRefIBN 1
-fHsimWireMda 1
-fHsimUniqifyElabDiag 0
-fHsimForceCbkVec 1
-fHsimSplitForceCbkVec 1
-fHsimLowPower 0
-fHsimLowPowerDumpOnly 0
-fHsimLowPowerDiag 0
-fHsimXpropFix 1
-fHsimXpropConfigTrace 0
-fHsimNameBasedInterface 1
-fHsimVcsInterfaceHierDiag 0
-fHsimCbSchedFix 0
-fHsimIncrDebug 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimSKIncr 0
-fElabModTimeProfCount 0
-fHsimChangeSharedLib 0
-fHsimNewIncr 1
-fHsimIncrSkip 0
-fHsimSecondCheckMdb 0
-fHsimIntraXmrNotMaster 0
-fHsimExtNodeDiag 0
-fHsimExtIntfXmrDebug 0
-fHsimExtXmrNodeDiag 0
-fPartTopElabModName 0
-fHsimPreResolveXmr 1
-fHsimNoIntfXmrNonMaster 1
-fHsimXmrPropDebug 0
-fHsimXmrElabDebug 0
-fHsimXmrNoMaster 1
-fHsimXmrNoMasterIBIF 1
-fHsimIncrMaster 0
-fHsimEffTest 0
-fHsimIncrTest 0
-fHsimIncrTesting 0
-fHsimOnepass 0
-fHsimPartModSplit 0
-fHsimNoIncrMatch 0
-fHsimMergeOnly 0
-fHsimStitchNew 0
-fHsimCbkOpt 1
-fFrcRelCbk 1
-fPulserrWarn 1
-hsMtmSpec 0
-fprofile 0
-fPreserveDaidir 1
-fHsimLevelize 1
-fHsimSelectLevelize 0
-fHsimSelectEdgeData 0
-fHsimSelectEdgeDataDbg 0
-fHsimSelectEdgeDataSched0 0
-fHsimSelectEdgeDataSanity 0
-fHsimLevelizeFlatNodeLimit 22
-fHsimLevelizeNoSizeLimit 1
-fHsimLevelizeForce 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimLevelizeNoCgDump 0
-fHsimReuseVcs1Sem 0
-semLevelizeVar -1
-fHsimLevelizeDbg 0
-fHsimMinputsPostEval 0
-fHsimSeqUdpDbsByteArray 0
-fHsimHilRtlAny 0
-fHsimHilRtlAll 0
-fHsimCoLocate 0
-fHsimNoinlSched0lq 0
-fHsimUdpOutputOpt 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimRelaxSched0 0
-fHsimLocalVar 0
-fHsimUdpDynElab 0
-fHsimCbDynElab 0
-fHsimCompressData 4
-fHsimIgnoreCaps 0
-fHsimMdbIgnoreCaps 0
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHsimIgnoreDifferentNStates 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimAllowFuseOnRegWithMultDrivers 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimSched0 0
-fHsimPulseFilter 0
-fHsimNoSched0Reg 0
-fHsimAddSched0 0
-fHsimLargeBc 0
-fHsimLargePdbModule 0
-fHsimMMDebug 0
-fHsimMMLimit 0
-hsimMMLimit 0
-fHsimAmsFusionEnabled 0
-fHsimAmsWrealMdrEnabled 0
-fHsimAmsWrealInitValZero 1
-fWrealForce 0
-fHsimCgMarkers 0
-fHsimSplitRmaCode 1
-rmapatsPattCountThreshold 1000
-fHsimElab64 0
-fHsimTestFnn64 0
-fHsimTestDgn64 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimInitialConst 0
-fHsimForceRtlDbs 0
-fHsimBcOpt 1
-fHsimBcOptDebug 0
-fHsimBfuseFast 1
-fHsimParallelElab 0
-fHsimParallelElabVcs1 0
-fpicArchive 1
-fCsrcInTmpDir 0
-fHsimInterconFE 1
-fHsimMxOpt 1
-fHsimModpathFE 1
-fHsimPathOnCCN 0
-fHsimOptMPDelayLoad 0
-fHsimTransMPDelay 1
-fLargeSizeSdfTest 0
-fAllMtm 0
-fHsimDelayGateMbme 0
-fHsimDelayGateMbmeOld 0
-fHsimNdb 1
-fHsimNdbDebug 0
-fHsimNdbTest 0
-fHsimGrpByGrpElabIncrTest 0
-fHsimGrpByGrpElabIncrTest2 0
-fHsimTestAggrCg 0
-fHsimOneInputGateAggrCg 0
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimSimlearnDdce 0
-fHsimSimlearnDdce_diag 0
-fHsimScanOpt 0
-fHsimScanOptPartComp 0
-fHsimHsoptNoScanOpt 0
-fHsimNoScanOptDeadLogic 1
-fHsimScanOptFixForDInSIPath 1
-fHsimNoScanOptForNonScanLoad 0
-fHsimScanOptLoopFix 1
-fHsimScanOptLoopFix2 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimNettypeOneDrvPerfOpt 0
-fHsimOldNettypeResFnOffset 0
-fHsimScanoptDump 0
-fHsimScanDbgFunc 0
-fHsimScanDbgPerf 0
-fHsimAutoScanSuppWarn 0
-fHsimScanOptAggr 0
-fHsimScanOptFuse 1
-fHsimScanMemOpt 1
-fHsimScanChainOpt 0
-fHsimForceChangeCheck 0
-fHsimFuseConsts 0
-fHsimMemBusOpt 0
-fHsimDefLevelElab 0
-fHsimOneInstElabMods 0
-fHsimOneInstElabModsHeur 1
-fHsimOneInstElabModsAllowDbg 0
-fHsimTopElabMods 0
-fHsimPVCS 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimVIIntegrityCheck 0
-fHsimOrigViewType 0
-fHsimXmrDumpFullDR 0
-fHsimXmrDumpDebug 0
-fHsimRTLoopDectEna 0
-fHsimAssertInActive 0
-dGblTeE 1.000000
-dGblTeR 1.000000
-dGblPeE 1.000000
-dGblPeR 1.000000
-fNewdaidirpath 0
-fHsimDelayMbmeCheck 4
-fHsimMdbPartInputLimit 1
-fHsimSdfData 0
-fHsimDesignHasSdfAnnotation 0
-fHsimDesignUsesParallelVcs 0
-fHsimCMEnabled 1
-fGblMSah 0
-fGblMSTe 0
-fGblIntPe 0
-fGblTe 0
-fGblPe 0
-iPulseR 100
-iPulseE 100
-iTransR 100
-iTransE 100
-fPulseOpt 0
-fGblPulseOnD 0
-fGblPulseOnE 0
-fVCSiFlow 0
-fSystemVCSEnabled 1
-fHsimForcedPort 0
-fpicOption 1
-fModelSave 0
-fHsimGenObj 1
-fHsimCbkMemOpt 1
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimDumpOriginalFlatNodeNumsMap 0
-fHsimRecordPli 0
-fHsimPlaybackPli 0
-fHsimModByModElabForGates 0
-fHsimMdbOpts 0
-fHsimMdbInlineNew 0
-fHsimMdbSelUdp2Rtl 0
-fHsimMdbUdp2Rtl 0
-fHsimZeroDelayDelta 1
-fHsimMdbUdp2Rtl_3state 0
-fHsimMdbUdp2Rtl_noxedge 0
-fHsimMdbUdp2Rtl_dfsr 0
-fHsimMdbInsertComplexSelect 0
-fHsimMdbNoComplexSelect 0
-fHsimMdbScalarization 0
-fHsimCmplxOperScalarization 0
-fHsimMdbVectorizeInstances2 0
-fHsimMdbVectorizeInstancesCfg 0
-fHsimMdbVectorizeInstDiag 0
-fHsimMdbVectorizeInstances3 0
-fHsimMdbOptimizeSeqUdp 0
-fHsimMdbB2BLatch 0
-fHsimMdbAggr 0
-fHsimMdbGateGroupNew 0
-fHsimMdbUdpGroup 0
-fHsimMdbOptimizeConstants 0
-fHsimMdbDfuse 0
-fHsimMdbBfuse 0
-fHsimMdbDce 0
-fHsimMdbMpopt 0
-fHsimMdbCondMpOpt 0
-fHsimMdbSimplifyMpCond 0
-fHsimDceIgnorecaps 0
-fHsimCondModPathDbs 0
-fHsimCondModPathCompact 0
-fHsimMdbCondMpMerge 0
-fHsimModPathCg 0
-fHsimNoCondModPathCg 0
-fHsimCompactCode 0
-fHsimCondTC 0
-fHsimMacroTC 0
-fHsimCondMPConst 0
-fHsimCondTCConst 0
-fHsimMergeDelay 0
-fHsimDelayOpt 0
-fRemoveDelonTrans 1
-fHsimModPathLoadOpt 1
-fHsimMdbTranOpt 0
-fHsimMdbTranMerge 0
-fHsimRmapatsCsh 0
-fHsimLrmSupply 0
-fHsimNewMbmeFlow 0
-fHsimBackEndInteg 0
-fHsimBackEndIntegCapsOk 0
-fHsimBackEndIntegDiag 0
-fHsimBackEndIntegMaxIbns 1024
-fHsimBackEndIntegDeadObns 0
-fHsimTran2MosDriver 1
-fHsimDumpCcn 0
-fHsimMdbNStateAnalysis 0
-fHsimMdbAdjustWidth 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdbPart 0
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimMdbHdbsBehavior 0
-fHsimMdbHdbsBehaviorTC 0
-fHsimMdbIbnObnPartition 0
-fHsimMdbDebugOpt0 0
-fHsimMdbClockAnalysis 0
-fHsimMdbMimo 0
-fHsimMdbMimoLite 0
-fHsimMdbMimoAggr 0
-fHsimDumpMdb 0
-fHsimDumpMdbVpd 0
-fHsimElabDiag 0
-fHsimElabMasterDiag 0
-fHsimElabDiagSummary 0
-fHsimElabDiagMn 0
-fHsimElabDiagMnCount 0
-fHsimElabDiagLite 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimDbsAlwaysBlocks 1
-fHsimPrintNodeMap 0
-fHsimSvAggr 0
-fHsimDynamicFlatNode 0
-fHsimSeqPrimCg 1
-fHsimDiagPats 0
-fHsimDdPats 0
-fHsimPatOpt 3
-fHsimPatInline 0
-fHsimPatOutline 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCloadOpt 0
-fHsimNoICDelayPropPwEqDelay 0
-fHsimPrintMopComment 0
-fNewRace 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCg 0
-fHsimNewCgRt 0
-fHsimNewCgFg 0
-fHsimNewCgMinput 0
-fHsimNewCgUpdate 0
-fHsimNewCgMP 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimNewCgTC 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbInstDiag 0
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fHsimSdfICOverlap 0
-fHsimSdfICDiag 0
-fHsimSdfICOpt 0
-fHsimMsvSdfInout 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimGrpByGrpElabIncrDiag 0
-fHsimEvcdTranSeen 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimNoPruning 0
-fHsimNoVarBidirs 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbUnidirSelects 0
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimNoTcSched 0
-fHsimSchedOpt 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fHsimDumpMdbAll 0
-fHsimDumpMdbRaptor 0
-fHsimDumpMdbGates 0
-fHsimDumpMdbPrune 0
-fHsimDumpMdbInline 0
-fHsimDumpMdbCondTC 0
-fHsimDumpMdbNState 0
-fHsimDumpMdbVhVlInputFuseOpt 0
-fHsimDumpMdbVhVlInoutFuseOpt 0
-fHsimDumpMdbVhVlCcnOpt 0
-fCompressSDF 0
-fHsimDumpMdbSchedDelta 0
-fHsimDumpMdbNoVarBidirs 0
-fHsimDumpMdbScalarize 0
-fHsimDumpMdbVecInst 0
-fHsimDumpMdbVecInst2 0
-fHsimDumpMdbDce 0
-fHsimDumpMdbScanopt 0
-fHsimDumpMdbSelects 0
-fHsimDumpMdbAggr 0
-fHsimDumpMdbOptConst 0
-fHsimDumpMdbVcsInterface 0
-fHsimDumpMdbDfuse 0
-fHsimDumpMdbBfuse 0
-fHsimDumpMdbTranOpt 0
-fHsimDumpMdbOptLoops 0
-fHsimDumpMdbSeqUdp 0
-fHsimDumpMdbMpOpt 0
-fHsimDumpMdbGG 0
-fHsimDumpMdbUdpGG 0
-fHsimDumpMdbMimo 0
-fHsimDumpMdbUdp2rtl 0
-fHsimDumpMdbUdpDelta 0
-fHsimDumpMdbDebugOpt 0
-fHsimDumpMdbSplitGates 0
-fHsimDumpMdb1006Part 0
-fHsimDumpMdbPart 0
-fHsimDumpMdbSimplifyMpCond 0
-fDlpSvtbExclElab 0
-fHsimDumpMdbCondMpMerge 0
-fHsimDumpMdbCondMp 0
-fHsimDumpMdbCondModPathDbs 0
-fHsimSdfAltRetain 0
-fHsimDumpMdbCompress 1
-fHsimDumpMdbSummary 0
-fHsimBfuseOn 1
-fHsimBfuseHeur 0
-fHsimBfuseHash 1
-fHsimSelectCell 0
-fHsimBfuseNoRedundantFanout 1
-fHsimBFuseVectorMinputGates 0
-fHsimBFuseVectorAlways 0
-fHsimDfuseOn 1
-fHsimDumpMdbPruneVpdGates 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimMdbCellComplexity 1.500000
-fHsimMdbCellHeur 1
-fHsimNoPeekInMdbCell 0
-fDebugDump 1
-fHsimOrigNodeNames 0
-hsimSrcList filelist
-fHsimCgVectors2VOnly 0
-fHsimPortCoerce 0
-fHsimBidirOpt 0
-fHsimCheckLoop 1
-fHsimCheckLoopDiag 0
-fHsimCheckLoopMore 0
-fHsimLoop 1
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdHighConnReplaced 1
-fHsimVpdOptSVTypes 1
-fHsimDlyInitFrc 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimUseBidirSelectsInVectorGates 0
-fHsimGates2 0
-fHsimVectorGates 0
-fHsimHilCg 0
-fHsimHilVecAndRtl 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgUnidirSel 0
-fHsimMdbcgLhsConcat 0
-fHsimMdbcgSelectSplit 0
-fHsimMdbcgProcessSelSplit 0
-fHsimMdbcgEdgeop 0
-fHsimMdbcgMultiDelayControl 1
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseVecIgnoreFrc 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimAllPortsDiag 0
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 1
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptConst 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 0
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsimNewConstProp 0
-fHsimSignedOp 0
-fHsimVarIndex 0
-fHsimNewMdbNstate 0
-fHsimProcessNstate 0
-fHsimMdbModpathNstate 0
-fHsimPgateConst 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsNBACgOpt 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsimMemory 0
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fRtdbgAccess 0
-fRtdbgOption 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-vcsNettypeDbgOpt 4
-fHsimFoldedCell 0
-fHsimSimon2Mdb 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimSlowNfsRmapats 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fHashTableSize 12
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fHsimByteCodePartTesting 0
-fHsimByteCodePartAssert 0
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimLevelCompaction 0
-fHsimLevelCompactionThreshold 0
-fHsimGateEdgeEventSched 0
-fHsimGateEdgeEventSchedThreshold 0
-fHsimGateEdgeEventSchedSanity 0
-fHsimSelectEdgeEventSched 0
-fHsimSelectEdgeEventSchedNoTempReuse 0
-fHsimSelectEdgeEventSchedThreshold 0
-fHsimMaxComboLevels 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpMultiSocketAfterGrping 0
-fFgpMultiSocketNCuts 1
-fFgpMultiSocketDiag 0
-fFgpMultiSocketRecomputePart 1
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpXmrDepOn 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpTcLoadThreshold 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpSanityTest 0
-fFgpSanityTest_Eng 1
-fFgpAlternativeLevelization 0
-fFgpHighFanoutThreshold 1024
-fFgpSplitGroupLevels 1
-fFgpSplitGroupIbn 1
-fFgpSplitGroupGateEdge 1
-fFgpSplitGroupEval 3
-fFgpGroupingPerfDiag 0
-fFgpSplitGroupDiag 0
-fFgpStricDepModDiag 0
-fFgpIPProtect 0
-fFgpIPProtectStrict 0
-fFgpNoVirtualThreads 0
-fFgpLoadBalance0DiagComp 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedNoLevel 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpObnSched 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fHsimNetXmrDrvChk 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 0
-fHsimIslandByIslandFlat1 0
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-fHsimElabJ4SDF 0
-cElabProcs 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimElabJMMFactor 0
-fHsimOneInstCap 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedRandom 0
-fHsimSchedAll 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fHsimSchedSelectFanoutRandom 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimNoReconvergenceSched0 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpMbme 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fFgpHideXmrNodes 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsimAggrTCOpt 0
-fFgpNewAggrXmrIterFlow 0
-fFgpNoLocalReferer 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsFgpSchedCgUcLoads 1
-fHsimAdvanceUdpInfer 0
-fFgpIbnSchedIntf 0
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsimCosimGatesProp 0
-fHsSVNettypePerfOpt 0
-fHsCgOptHashFixMap 1
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
-fHsimCongruencyConfigFile 0
-fHsimCongruencyLogFile 0
-fHsimCoverageEnabled 1
-fHsimCoverageOptions 279
-fHsimCoverageDir ./coverage/simv.vdb
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_fegate.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_fegate.db
deleted file mode 100644
index 8be0045..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_fegate.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_lvl.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_lvl.db
deleted file mode 100644
index 861898a..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_lvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_merge.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_merge.db
deleted file mode 100644
index 3e9e254..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_merge.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_name.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_name.db
deleted file mode 100644
index 2c3116f..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_name.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_uds.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_uds.db
deleted file mode 100644
index 3544e39..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_hsim_uds.db
+++ /dev/null
@@ -1,10 +0,0 @@
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
-vcselab_misc_midd.db 57445
-vcselab_misc_mnmn.db 2715
-vcselab_misc_hsim_name.db 18117
-vcselab_master_hsim_virtintf_info.dat 160
-vcselab_misc_hsim_merge.db 1349204
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_midd.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_midd.db
deleted file mode 100644
index 2c06e1c..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_midd.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_mnmn.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_mnmn.db
deleted file mode 100644
index d30eaa6..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_mnmn.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partition.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partition.db
deleted file mode 100644
index 45c0dfb..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partition.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partitionDbg.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partitionDbg.db
deleted file mode 100644
index 410c022..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_partitionDbg.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_tCEYNb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_tCEYNb
deleted file mode 100644
index f71343b..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_tCEYNb and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vcselabref.db b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vcselabref.db
deleted file mode 100644
index f76dd23..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vcselabref.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vpdnodenums b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vpdnodenums
deleted file mode 100644
index c7400e4..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/simv.daidir/vcselab_misc_vpdnodenums and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/ucli.key b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/ucli.key
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/.diagnose.oneSearch b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/.diagnose.oneSearch
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/ToNetlist.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/ToNetlist.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/compiler.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/compiler.log
deleted file mode 100644
index 609c1a4..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/compiler.log
+++ /dev/null
@@ -1,262 +0,0 @@
-*design* DebussyLib (btIdent Verdi_O-2018.09-SP2)
-Command arguments:
- +define+verilog
- -sverilog
- -f filelist_vlg.f
- ../../../../rtl/define/chip_define.v
- ../../../../lib/tphn28hpcpgv18.v
- ../../../../lib/tsdn28hpcpuhdb4096x128m4mw_170a_ffg0p99v0c.v
- ../../../../rtl/io/iopad.v
- ../../../../rtl/systemregfile/systemregfile.v
- ../../../../rtl/dacif/dacif.v
- ../../../../rtl/fifo/syn_fwft_fifo.v
- ../../../../rtl/dac_regfile/dac_regfile.v
- ../../../../rtl/lvds/ulink_rx.sv
- ../../../../rtl/rstgen/rst_gen_unit.v
- ../../../../rtl/rstgen/rst_sync.v
- ../../../../rtl/comm/sirv_gnrl_xchecker.v
- ../../../../rtl/comm/pulse_generator.sv
- ../../../../rtl/comm/sirv_gnrl_dffs.v
- ../../../../rtl/comm/syncer.v
- ../../../../rtl/comm/ramp_gen.v
- ../../../../rtl/memory/tsmc_dpram.v
- ../../../../rtl/memory/sram_if.sv
- ../../../../rtl/memory/sram_dmux.sv
- ../../../../rtl/memory/dpram.v
- ../../../../rtl/memory/bhv_spram.v
- ../../../../rtl/memory/spram.v
- ../../../../rtl/clk/clk_regfile.v
- ../../../../rtl/awg/awg_top.sv
- ../../../../rtl/awg/awg_ctrl.v
- ../../../../rtl/dem/DEM_PhaseSync_4008.sv
- ../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_1CH.v
- ../../../../rtl/dem/DA4008_DEM_Parallel_PRBS_64CH.v
- ../../../../rtl/top/da4008_chip_top.sv
- ../../../../rtl/top/digital_top.sv
- ../../../../rtl/spi/spi_bus_decoder.sv
- ../../../../rtl/spi/spi_slave.v
- ../../../../rtl/spi/spi_pll.v
- ../../../../rtl/spi/spi_sys.v
- ../../../../model/clock_tb.v
- ../../../../model/spi_if.sv
- ../../../../model/clk_gen.v
- ../../../../model/DEM_Reverse_64CH.v
- ../../../../model/DEM_Reverse.v
- ../../../../model/reset_tb.v
- ../../../../model/DW_stream_sync.v
- ../../../../model/DW_reset_sync.v
- ../../../../model/DW_sync.v
- ../../../../model/DW_pulse_sync.v
- ../../../../sim/chip_top/TB.sv
- ../../../../rtl/define/chip_undefine.v
- -top
- TB
-
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/io/iopad.v", 35:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/io/iopad.v", 187:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/memory/dpram.v", 2:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/memory/dpram.v", 90:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/top/da4008_chip_top.sv", 3:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/top/da4008_chip_top.sv", 212:
-
-*Error* `include file "../define/chip_define.v" cannot be read
-"../../../../rtl/top/digital_top.sv", 34:
-
-*Error* `include file "../define/chip_undefine.v" cannot be read
-"../../../../rtl/top/digital_top.sv", 528:
-
-*Error* `include file "../../rtl/define/chip_define.v" cannot be read
-"../../../../sim/chip_top/TB.sv", 1:
-
-*Error* `include file "../../model/SPI_DRIVER.sv" cannot be read
-"../../../../sim/chip_top/TB.sv", 3:
-
-*Error* `include file "../../model/LVDS_DRIVER.sv" cannot be read
-"../../../../sim/chip_top/TB.sv", 5:
-
-*Error* failed to find symbol 'my_drv'
-"../../../../sim/chip_top/TB.sv", 81:
-
-*Error* failed to find symbol 'lvds_drv'
-"../../../../sim/chip_top/TB.sv", 82:
-Highest level modules:
-PCLAMP_G
-PCLAMPC_H_G
-PCLAMPC_V_G
-PDB3A_H_G
-PDB3A_V_G
-PDB3AC_H_G
-PDB3AC_V_G
-PDDW04DGZ_H_G
-PDDW04DGZ_V_G
-PDDW04SDGZ_H_G
-PDDW08DGZ_H_G
-PDDW08DGZ_V_G
-PDDW08SDGZ_H_G
-PDDW08SDGZ_V_G
-PDDW12DGZ_H_G
-PDDW12DGZ_V_G
-PDDW12SDGZ_H_G
-PDDW12SDGZ_V_G
-PDDW16DGZ_H_G
-PDDW16DGZ_V_G
-PDDW16SDGZ_H_G
-PDDW16SDGZ_V_G
-PDUW04DGZ_H_G
-PDUW04DGZ_V_G
-PDUW04SDGZ_H_G
-PDUW08DGZ_H_G
-PDUW08DGZ_V_G
-PDUW08SDGZ_H_G
-PDUW12DGZ_H_G
-PDUW12DGZ_V_G
-PDUW12SDGZ_H_G
-PDUW12SDGZ_V_G
-PDUW16DGZ_H_G
-PDUW16DGZ_V_G
-PDUW16SDGZ_H_G
-PDUW16SDGZ_V_G
-PDXOEDG_H_G
-PDXOEDG_V_G
-PENDCAP_G
-PENDCAPA_G
-PRCUT_G
-PRCUTA_G
-PRDW08DGZ_H_G
-PRDW08DGZ_V_G
-PRDW08SDGZ_H_G
-PRDW08SDGZ_V_G
-PRDW12DGZ_H_G
-PRDW12DGZ_V_G
-PRDW12SDGZ_H_G
-PRDW12SDGZ_V_G
-PRDW16DGZ_H_G
-PRDW16DGZ_V_G
-PRDW16SDGZ_H_G
-PRDW16SDGZ_V_G
-PRUW08DGZ_H_G
-PRUW08DGZ_V_G
-PRUW08SDGZ_H_G
-PRUW08SDGZ_V_G
-PRUW12DGZ_H_G
-PRUW12DGZ_V_G
-PRUW12SDGZ_H_G
-PRUW12SDGZ_V_G
-PRUW16DGZ_H_G
-PRUW16DGZ_V_G
-PRUW16SDGZ_H_G
-PRUW16SDGZ_V_G
-PVDD1A_H_G
-PVDD1A_V_G
-PVDD1AC_H_G
-PVDD1AC_V_G
-PVDD1ANA_H_G
-PVDD1ANA_V_G
-PVDD1DGZ_H_G
-PVDD1DGZ_V_G
-PVDD2ANA_H_G
-PVDD2ANA_V_G
-PVDD2DGZ_H_G
-PVDD2DGZ_V_G
-PVDD2POC_H_G
-PVDD2POC_V_G
-PVDD3A_H_G
-PVDD3A_V_G
-PVDD3AC_H_G
-PVDD3AC_V_G
-PVSS1A_H_G
-PVSS1A_V_G
-PVSS1AC_H_G
-PVSS1AC_V_G
-PVSS1ANA_H_G
-PVSS1ANA_V_G
-PVSS1DGZ_H_G
-PVSS1DGZ_V_G
-PVSS2A_H_G
-PVSS2A_V_G
-PVSS2AC_H_G
-PVSS2AC_V_G
-PVSS2ANA_H_G
-PVSS2ANA_V_G
-PVSS2DGZ_H_G
-PVSS2DGZ_V_G
-PVSS3A_H_G
-PVSS3A_V_G
-PVSS3AC_H_G
-PVSS3AC_V_G
-PVSS3DGZ_H_G
-PVSS3DGZ_V_G
-sirv_gnrl_xchecker
-sirv_gnrl_dffl
-sirv_gnrl_ltch
-clk_gen
-reset_tb
-TB
-
-
-*Error* failed to find identifier lvds_drv
-"../../../../sim/chip_top/TB.sv", 89:
-
-*Error* failed to find identifier lvds_drv.new
-"../../../../sim/chip_top/TB.sv", 89:
-
-*Error* failed to find identifier lvds_drv.drv_if
-"../../../../sim/chip_top/TB.sv", 91:
-
-*Error* failed to find identifier my_drv
-"../../../../sim/chip_top/TB.sv", 94:
-
-*Error* failed to find identifier my_drv.new
-"../../../../sim/chip_top/TB.sv", 94:
-
-*Error* failed to find identifier my_drv.file_path
-"../../../../sim/chip_top/TB.sv", 95:
-
-*Error* failed to find identifier my_drv.itf
-"../../../../sim/chip_top/TB.sv", 96:
-
-*Error* failed to find identifier lvds_drv.train_count
-"../../../../sim/chip_top/TB.sv", 102:
-
-*Error* failed to find identifier lvds_drv.send_training
-"../../../../sim/chip_top/TB.sv", 103:
-
-*Error* failed to find identifier lvds_drv.scrambler_en
-"../../../../sim/chip_top/TB.sv", 104:
-
-*Error* failed to find identifier lvds_drv.send_frame_from_file
-"../../../../sim/chip_top/TB.sv", 105:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 108:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 120:
-
-*Error* failed to find identifier my_drv.do_drive
-"../../../../sim/chip_top/TB.sv", 131:
-
-*Error* failed to find identifier lvds_bus.data
-"../../../../sim/chip_top/TB.sv", 224:
-
-*Error* failed to find identifier lvds_bus.valid
-"../../../../sim/chip_top/TB.sv", 225:
-
-*Error* failed to find identifier lvds_bus.clk
-"../../../../sim/chip_top/TB.sv", 226:
-
-*Error* view lvds_if is not defined for instance lvds_bus
-"../../../../sim/chip_top/TB.sv", 69:
-Total 31 error(s), 0 warning(s)
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/da_debug.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/da_debug.log
deleted file mode 100644
index 94d3d9c..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/da_debug.log
+++ /dev/null
@@ -1,5 +0,0 @@
-#####################################################################################################
-# da_debug.log : log primitive debug message of Data Agent (Verdi internal layer to access FSDB). #
-# This is for R&D to analyze when there are issues happening when Verdi reading FSDB #
-#####################################################################################################
-[DA][EVDP][XML]: start update xml in interactive mode at init[DA][EVDP][XML]: start update xml file in interactive mode
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/exe.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/exe.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.log
deleted file mode 100644
index 157ce72..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.log
+++ /dev/null
@@ -1,10 +0,0 @@
-Verdi (R)
-
-Release Verdi_O-2018.09-SP2 for (RH Linux x86_64/64bit) -- Thu Feb 21 04:40:56 PDT 2019
-
-Copyright (c) 1999 - 2019 Synopsys, Inc.
-This software and the associated documentation are proprietary to Synopsys, Inc.
-This software may only be used in accordance with the terms and conditions of a written license agreement with Synopsys, Inc.
-All other use, reproduction, or distribution of this software is strictly prohibited.
-
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.rc b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.rc
deleted file mode 100644
index 205efa9..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas.rc
+++ /dev/null
@@ -1,1316 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[Form]
-version = Verdi_O-2018.09-SP2
-wave/sigCPL.fm = 100,100,243,333
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-Wave_getsignal_form_font = -f COURIER12
-Text_annotFont = Helvetica_M_R_10
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-qWaveSignalDialog = 559,313,800,479
-QwWarnMsgDlg = 659,446,600,250
-EventReportDialog = 599,412,720,280
-saveSigDlg = 683,359,551,386
-restoreSigDlg = 683,333,551,438
-SetWindowTimeUnitDialog = 742,509,433,86
-QwUserAskDlg = 798,487,324,134
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses
-2 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VCS
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[TestBenchBrowser]
--showUVMDynamicHierTreeWin = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_BLACK
-hdlPslComment = ID_BLACK
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = -1 27 1920 977 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-scope_to_save_with_macro
-open_file_dir
-open_rc_file_dir
-getSignalForm = 559 276 800 479 245 381 505 183
-viewPort = 0 27 1920 280 152 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busXLayer = -c ID_RED5
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-RecentFile1 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb\""
-open_file_time_range = FALSE
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-NameRule =
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 0 27 1920 280 152 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses
deleted file mode 100644
index 7213f1d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses
+++ /dev/null
@@ -1,83 +0,0 @@
-@verdi rc file Version 1.0
-[General]
-saveDB = TRUE
-relativePath = FALSE
-saveSingleView = FALSE
-saveNWaveWinId =
-VerdiVersion = Verdi_O-2018.09-SP2
-[KeyNote]
-Line1 = Automatic Backup 0
-Line2 = Save Open Database Information: Yes
-Line3 = Path Option: Absolute Paths
-Line4 = Windows Option: All Windows
-[TestBench]
-ConstrViewShow = 0
-InherViewShow = 0
-FSDBMsgShow = 0
-AnnotationShow = 0
-Console = FALSE
-powerDumped = 0
-[hb]
-postSimFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb
-syncTime = 7001856
-viewport = 0 20 1920 977 0 0 75 1918
-activeNode = "TB.U_da4008_chip_top.digital_top.dut"
-activeScope = "TB.U_da4008_chip_top.digital_top.dut"
-activeFile = "../../../../rtl/lvds/ulink_rx.sv"
-interactiveMode = False
-viewType = Source
-simulatorMode = False
-sourceBeginLine = 71
-baMode = False
-srcLineNum = True
-AutoWrap = True
-IdentifyFalseLogic = False
-syncSignal = False
-traceMode = Hierarchical
-showTraceInSchema = True
-paMode = False
-funcMode = False
-powerAwareAnnot = True
-amsAnnot = True
-traceCrossHier = True
-DnDtraceCrossHierOnly = True
-traceIncTopPort = False
-leadingZero = False
-signalPane = False
-Scope1 = "TB.U_da4008_chip_top.digital_top.dut"
-Scope2 = "TB"
-multipleSelection = 1 34 6 0 0
-sdfCheckUndef = FALSE
-simFlow = FALSE
-[hb.design]
-importCmd = "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-invokeDir = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g
-[hb.sourceTab.1]
-scope = TB.U_da4008_chip_top.digital_top.dut
-File = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/lvds/ulink_rx.sv
-Line = 72
-[nMemoryManager]
-WaveformFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb
-UserActionNum = 0
-nMemWindowNum = 0
-[wave.0]
-viewPort = 0 27 1920 392 256 65
-primaryWindow = TRUE
-SessionFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.wave.0
-displayGrid = FALSE
-hierarchicalName = FALSE
-snap = TRUE
-displayLeadingZeros = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-highlightGlitchs = FALSE
-waveformSyncCursorMarker = FALSE
-waveformSyncHorizontalRange = FALSE
-waveformSyncVerticalscroll = FALSE
-displayErrors = TRUE
-displayMsgSymbols = TRUE
-showMsgDescriptions = TRUE
-autoFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.config b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.config
deleted file mode 100644
index 430888e..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.config
+++ /dev/null
@@ -1,55 +0,0 @@
-[qBaseWindowStateGroup]
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_encode_to_relative_window_id_name=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\a\x80\0\0\x1\xbf\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x2r\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfc\0\0\x2x\0\0\x5\b\0\0\0k\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0\x45\0\x64\0i\0t\0o\0r\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x3\0\0\a\x80\0\0\x1\xbe\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\a\x80\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x3\x1\0\0\0\x4\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x33\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\size=@Size(1920 977)
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_x=-10
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_y=20
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_width=1920
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_height=977
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.png b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.png
deleted file mode 100644
index a8d2778..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.png and /dev/null differ
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.wave.0 b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.wave.0
deleted file mode 100644
index b4cfaff..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/novas_autosave.ses.wave.0
+++ /dev/null
@@ -1,94 +0,0 @@
-Magic 271485
-Revision Verdi_O-2018.09-SP2
-
-; Window Layout
-viewPort 0 27 1920 392 256 65
-
-; File list:
-; openDirFile [-d delimiter] [-s time_offset] [-rf auto_bus_rule_file] path_name file_name
-openDirFile -d / "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb"
-
-; file time scale:
-; fileTimeScale ### s|ms|us|ns|ps
-
-; signal spacing:
-signalSpacing 5
-
-; windowTimeUnit is used for zoom, cursor & marker
-; waveform viewport range
-zoom 0.000000 25862591.942020
-cursor 7001856.000000
-marker 479076480.000000
-
-; user define markers
-; userMarker time_pos marker_name color linestyle
-; visible top row signal index
-top 15
-; marker line index
-markerPos 40
-
-; event list
-; addEvent event_name event_expression
-; curEvent event_name
-
-
-
-COMPLEX_EVENT_BEGIN
-
-
-COMPLEX_EVENT_END
-
-
-
-; toolbar current search type
-; curSTATUS search_type
-curSTATUS ByChange
-
-
-addGroup "SPI" -e FALSE
-activeDirFile "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb"
-addSignal -h 15 /TB/U_da4008_chip_top/PI_sclk
-addSignal -h 15 -holdScope PI_csn
-addSignal -h 15 -holdScope PI_mosi
-addSignal -h 15 -holdScope PO_miso
-addGroup "SYS" -e FALSE
-addSignal -h 15 /TB/U_da4008_chip_top/clk
-addSignal -h 15 -holdScope PI_async_rstn
-addSignal -h 15 -holdScope PI_sync_in
-addSignal -h 15 -holdScope PO_sync_out
-addSignal -h 15 -holdScope PO_irq
-addGroup "LVDS" -e FALSE
-addSignal -h 15 /TB/U_da4008_chip_top/lvds_clk[0:0]
-addSignal -h 15 -holdScope lvds_data[3:0]
-addSignal -h 15 -holdScope lvds_valid[0:0]
-addGroup "DAC" -e FALSE
-addSignal -h 15 /TB/start
-addSignal -w analog -ds pwc -h 98 -holdScope cs_wave[7:0]
-addSignal -h 15 /TB/U_da4008_chip_top/MSB_OUT[63:0]
-addSignal -h 15 -holdScope LSB_OUT[63:0]
-addSignal -h 15 -holdScope MSB_DUM[63:0]
-addSignal -h 15 -holdScope DEM_VLD
-addGroup "A_sram"
-addSignal -h 15 /TB/U_da4008_chip_top/digital_top/wave_awrdata[511:0]
-addSignal -h 15 -holdScope wave_awren[0:0]
-addSignal -h 15 -holdScope wave_arwaddr[12:0]
-addSignal -h 15 -holdScope wave_awrmask[63:0]
-addGroup "B_sram" -e FALSE
-addSignal -h 15 /TB/U_da4008_chip_top/digital_top/slv[2]/din[31:0]
-addSignal -h 15 -holdScope wren
-addSignal -h 15 -holdScope addr[18:0]
-addSignal -h 15 -holdScope rden
-addSignal -h 15 -holdScope dout[31:0]
-addGroup "G7"
-addSignal -expanded -h 15 /TB/U_da4008_chip_top/digital_top/dut/serial_in[3:0]
-addSignal -h 15 -holdScope serial_in[3]
-addSignal -h 15 -holdScope serial_in[2]
-addSignal -h 15 -holdScope serial_in[1]
-addSignal -h 15 -holdScope serial_in[0]
-addSignal -h 15 -holdScope train_ready
-addSignal -h 15 -holdScope frame_done
-addGroup "G8"
-
-; getSignalForm Scope Hierarchy Status
-; active file of getSignalForm
-
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/pes.bat b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/pes.bat
deleted file mode 100644
index 7c6e4ac..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/pes.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-where
-detach
-quit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/turbo.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/turbo.log
deleted file mode 100644
index b9422a5..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/turbo.log
+++ /dev/null
@@ -1,3 +0,0 @@
-Command Line: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/platform/LINUXAMD64/bin/Novas -sverilog -f filelist_vlg.f -top TB -ssf verdplus_000.fsdb -nologo
-uname(Linux cryo1 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64)
-au time 8711.256049 158.666959 108.289195 delta 2423099392 2423099392 total 2848186368 2848186368
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd
deleted file mode 100644
index e39b23d..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd
+++ /dev/null
@@ -1,1124 +0,0 @@
-sidCmdLineBehaviorAnalysisOpt -incr -clockSkew 0 -loopUnroll 0 -bboxEmptyModule 0 -cellModel 0 -bboxIgnoreProtected 0
-debImport "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-debLoadSimResult \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb
-wvCreateWindow
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.U_DEM_PhaseSync_4008" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSearchString "dut" -win $_nTrace1 -next -case
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_spi_slave" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_dac_regfile" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSearchString "dut" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wave_awren" -line 333 -pos 1 -win $_nTrace1
-srcSearchString "wave_awren" -win $_nTrace1 -next -case
-srcSearchString "wave_awren" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {333 333 8 9 1 1}
-srcSearchString "wave_awren" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 107 1 13 -win $_nTrace1 -name "my_drv.do_drive" -ctrlKey off
-wvRestoreSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc" \
- -overWriteAutoAlias on -appendSignals on
-wvExpandGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvExpandGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {DAC}
-wvSetCursor -win $_nWave2 125799713.018962 -snap {("LVDS" 3)}
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 5
-wvScrollDown -win $_nWave2 6
-wvZoom -win $_nWave2 276701662.351342 301226835.761002
-wvZoom -win $_nWave2 291062855.129050 292364429.627237
-wvZoom -win $_nWave2 291700836.188934 291839763.937995
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 107 1 3 -win $_nTrace1 -name "my_drv.do_drive" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 2 3 -win $_nTrace1 -name "my_drv" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcAction -pos 81 2 4 -win $_nTrace1 -name "lvds_drv" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-verdiWindowResize -win $_Verdi_1 "239" "111" "1440" "723"
-srcDeselectAll -win $_nTrace1
-srcAction -pos 89 1 26 -win $_nTrace1 -name "//lvds_drv.file_path = LVDS_FILE;" \
- -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcAction -pos 94 5 6 -win $_nTrace1 -name "CONFIG_FILE" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "LVDS_FILE" -line 42 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -all -win $_nTrace1
-srcSelect -win $_nTrace1 -range {1 390 1 2 1 1}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 107 -pos 1 -win $_nTrace1
-srcSearchString "DATA_O_FILE" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {53 53 4 5 1 1}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 53 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 50 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CASE_TEMP" -line 44 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 50 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CASE_TEMP" -line 44 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 50 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 52 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 53 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 54 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 53 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 46 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 52 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 52 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 50 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 47 -pos 1 -win $_nTrace1
-srcAction -pos 46 3 7 -win $_nTrace1 -name "CONFIG_FILE" -ctrlKey off
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcAction -pos 94 1 13 -win $_nTrace1 -name "my_drv.file_path" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 107 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -all -win $_nTrace1
-srcSelect -win $_nTrace1 -range {1 390 1 2 1 1}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 39 -pos 1 -win $_nTrace1
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_O_FILE" -line 107 -pos 1 -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 41 -pos 1 -win $_nTrace1
-verdiDockWidgetMaximize -dock widgetDock_MTB_SOURCE_TAB_1
-verdiDockWidgetHide -dock widgetDock_MTB_SOURCE_TAB_1
-verdiDockWidgetMaximize -dock widgetDock_
-verdiDockWidgetRestore -dock widgetDock_
-verdiWindowPreviousLayout -win $_Verdi_1
-verdiWindowPreviousLayout -win $_Verdi_1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "DATA_TEMP" -line 41 -pos 1 -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 284492011.552057 307285996.250447
-wvZoom -win $_nWave2 291437584.706966 292579322.759837
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 134 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 130 1 5 -win $_nTrace1 -name "my_drv.do_drive" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 94 1 3 -win $_nTrace1 -name "my_drv.file_path" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 107 1 4 -win $_nTrace1 -name "my_drv.do_drive" -ctrlKey off
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-wvCollapseGroup -win $_nWave2 "DAC"
-wvExpandGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {DAC}
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {LVDS}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 136577912.708964 -snap {("LVDS" 2)}
-wvSetCursor -win $_nWave2 150420268.726764 -snap {("LVDS" 2)}
-wvSetCursor -win $_nWave2 135655088.974444 -snap {("LVDS" 2)}
-wvSetMarker -win $_nWave2 6998784.000000
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-wvZoom -win $_nWave2 0.000000 12611924.371774
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 0.000000 128284.036839
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 0.000000 15688003.486840
-wvZoom -win $_nWave2 3051830.303225 7041150.961036
-wvZoom -win $_nWave2 3051830.303225 3226822.754203
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.U_awg_top" -delim \
- "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSearchString "awg_top" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wave_awrdata" -line 392 -pos 2 -win $_nTrace1
-srcSelect -signal "wave_awren" -line 393 -pos 2 -win $_nTrace1
-srcSelect -signal "wave_arwaddr" -line 394 -pos 2 -win $_nTrace1
-srcSelect -signal "wave_awrmask" -line 395 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 1)}
-wvSetPosition -win $_nWave2 {("LVDS" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("G5" 0)}
-wvAddSignal -win $_nWave2 \
- "/TB/U_da4008_chip_top/digital_top/wave_awrdata\[511:0\]" \
- "/TB/U_da4008_chip_top/digital_top/wave_awren\[0:0\]" \
- "/TB/U_da4008_chip_top/digital_top/wave_arwaddr\[12:0\]" \
- "/TB/U_da4008_chip_top/digital_top/wave_awrmask\[63:0\]"
-wvSetPosition -win $_nWave2 {("G5" 0)}
-wvSetPosition -win $_nWave2 {("G5" 4)}
-wvSetPosition -win $_nWave2 {("G5" 4)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 2153255.380547 -snap {("G5" 2)}
-wvZoom -win $_nWave2 0.000000 8305413.610680
-wvZoom -win $_nWave2 5111023.760419 6441579.532759
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "LVDS" 3 )}
-wvSetCursor -win $_nWave2 1590929.770212 -snap {("LVDS" 3)}
-wvZoom -win $_nWave2 730832.922633 2855661.975474
-wvZoom -win $_nWave2 1119867.103954 1338698.830948
-wvSetCursor -win $_nWave2 1163410.861455 -snap {("LVDS" 2)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 4612021.241753 7389918.205898
-wvZoom -win $_nWave2 5761678.535878 5864105.760239
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 5413862.249211 5465954.925300
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-wvSelectGroup -win $_nWave2 {G5}
-wvSetPosition -win $_nWave2 {("G5" 0)}
-wvSelectGroup -win $_nWave2 {G5}
-wvRenameGroup -win $_nWave2 {G5} {A_sram}
-wvSelectGroup -win $_nWave2 {G6}
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSearchString "awg_top" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {388 388 3 4 3 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "slv\[2\].din" -line 396 -pos 1
-srcSelect -win $_nTrace1 -range {396 397 8 8 10 10}
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "slv\[2\].din" -line 396 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].wren" -line 397 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].addr\[18:0\]" -line 398 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].rden" -line 399 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].rden" -line 399 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].rden" -line 399 -pos 1
-srcSelect -win $_nTrace1 -signal "slv\[2\].dout" -line 400 -pos 1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 1)}
-wvSetPosition -win $_nWave2 {("LVDS" 2)}
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("G6" 0)}
-wvAddSignal -win $_nWave2 \
- "/TB/U_da4008_chip_top/digital_top/slv\[2\]/din\[31:0\]" \
- "/TB/U_da4008_chip_top/digital_top/slv\[2\]/wren" \
- "/TB/U_da4008_chip_top/digital_top/slv\[2\]/addr\[18:0\]" \
- "/TB/U_da4008_chip_top/digital_top/slv\[2\]/rden" \
- "/TB/U_da4008_chip_top/digital_top/slv\[2\]/dout\[31:0\]"
-wvSetPosition -win $_nWave2 {("G6" 0)}
-wvSetPosition -win $_nWave2 {("G6" 5)}
-wvSetPosition -win $_nWave2 {("G6" 5)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 3391157.044872 7121429.794231
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvScrollDown -win $_nWave2 5
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 4477275.874628 7816261.272656
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 5451058.170461 5833141.687082
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "G6" 3 )}
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 108 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -range {105 105 2 7 1 2} -backward
-wvSelectGroup -win $_nWave2 {G6}
-wvSetPosition -win $_nWave2 {("G6" 0)}
-wvSelectGroup -win $_nWave2 {G6}
-wvRenameGroup -win $_nWave2 {G6} {B_sram}
-wvSelectSignal -win $_nWave2 {( "A_sram" 3 )}
-wvSelectGroup -win $_nWave2 {B_sram}
-wvExpandGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {B_sram}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {B_sram}
-wvZoom -win $_nWave2 0.000000 13227140.194787
-wvSelectGroup -win $_nWave2 {B_sram}
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-wvSaveSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc"
-srcDeselectAll -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 115 -pos 1 -win $_nTrace1
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {112 112 2 3 1 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {87 87 2 3 1 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {83 83 3 4 1 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {215 215 8 9 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_sync_in" -line 215 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_sync_in" -line 215 -pos 1 -win $_nTrace1
-srcAction -pos 214 3 6 -win $_nTrace1 -name "PI_sync_in" -ctrlKey off
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {87 87 2 3 1 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {83 83 3 4 1 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {215 215 8 9 1 1}
-nsMsgSwitchTab -tab general
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {137 137 2 3 1 1}
-srcSearchString "start" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_sync_in" -line 215 -pos 1 -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.U_DEM_PhaseSync_4008" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.DEM_VLD_dffr" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.DEM_VLD_dffr" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.U_DEM_PhaseSync_4008" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.U_iopad" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 40 -pos 1 -win $_nTrace1
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.U_awg_top" -delim \
- "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst" -win \
- $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst" -win \
- $_nTrace1
-srcSetScope -win $_nTrace1 \
- "TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst" -delim \
- "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top.awg_ctrl_inst" -win \
- $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 39 -pos 1 -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.U_awg_top" -delim \
- "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.U_awg_top" -win $_nTrace1
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {88 88 8 9 6 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_start" -line 88 -pos 1 -win $_nTrace1
-srcSearchString "sync_start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {76 76 14 15 1 1}
-srcSearchString "sync_start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {76 76 8 8 1 11}
-srcSearchString "sync_start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {75 75 3 4 1 1}
-srcSearchString "sync_start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {88 88 8 9 1 1}
-srcSearchString "sync_start" -win $_nTrace1 -next -case
-srcSearchString "sync_start" -win $_nTrace1 -next -case
-srcSearchString "sync_start" -win $_nTrace1 -next -case
-srcSearchString "sync_start" -win $_nTrace1 -next -case
-srcSearchString "sync_start" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start_posedge" -line 76 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start_posedge" -line 76 -pos 1 -win $_nTrace1
-srcSearchString "start_posedge" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {74 74 3 4 1 1}
-srcSearchString "start_posedge" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {76 76 11 12 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 72 -pos 1 -win $_nTrace1
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {72 72 8 8 1 6}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {71 71 3 3 1 6}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {38 38 5 6 1 1}
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 40 -pos 1 -win $_nTrace1
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -next -case
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {273 273 1 2 34 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {252 252 1 2 31 1}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {168 168 1 1 61 66}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {108 108 1 1 57 62}
-srcSearchString "start" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {480 480 1 2 30 1}
-srcSearchString "start" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 40 -pos 1 -win $_nTrace1
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "sync_in" -win $_nTrace1 -next -case
-srcSearchString "awg_top" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_pulse" -line 391 -pos 1 -win $_nTrace1
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcSearchString "sync_pulse" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 356 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 356 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_int" -line 356 -pos 1 -win $_nTrace1
-srcAction -pos 355 22 5 -win $_nTrace1 -name "sync_int" -ctrlKey off
-srcSearchString "sync_pulse" -win $_nTrace1 -prev -case
-srcSearchString "sync_pulse" -win $_nTrace1 -prev -case
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.U_iopad" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_in" -line 40 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_out" -line 41 -pos 1 -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_mosi" -line 8 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_sync_in" -line 14 -pos 1 -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 112 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -range {134 138 1 1 1 1} -backward
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 138 5 0 -win $_nTrace1 -name "
-" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcAction -pos 138 5 0 -win $_nTrace1 -name "
-" -ctrlKey off
-srcInvokeExtEditor -win $_nTrace1
-srcSaveAs -win $_nTrace3 -file \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
-verdiWindowResize -win $_Verdi_1 "251" "274" "1440" "723"
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {B_sram}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 3
-wvSelectSignal -win $_nWave2 {( "DAC" 1 )}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 118199958.244831 144761746.614456
-wvZoom -win $_nWave2 124955838.543753 125709192.102269
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-srcInvokeExtEditor -win $_nTrace1
-srcCloseWindow -win $_nTrace3
-srcSaveAs -win $_nTrace3 -file \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/TB.sv
-srcCloseWindow -win $_nTrace3
-srcDeselectAll -win $_nTrace1
-debReload
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollUp -win $_nWave2 2
-wvSelectSignal -win $_nWave2 {( "DAC" 1 )}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 474654968.570613 487826761.553742
-wvZoom -win $_nWave2 478270282.289666 479704356.731562
-wvZoom -win $_nWave2 478913188.489535 479380279.524590
-wvSetCursor -win $_nWave2 479205921.663345 -snap {("DAC" 1)}
-wvZoom -win $_nWave2 479119170.080439 479169169.761227
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 452545173.206075 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 478888759.172333 -snap {("DAC" 1)}
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 423379060.172004 490649288.621555
-wvSetCursor -win $_nWave2 478832377.494092 -snap {("DAC" 2)}
-wvSetCursor -win $_nWave2 476493613.833448 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 476247428.184960 -snap {("DAC" 1)}
-wvSelectSignal -win $_nWave2 {( "DAC" 2 )}
-wvSetCursor -win $_nWave2 473108561.166728 -snap {("DAC" 1)}
-wvSetMarker -win $_nWave2 449170212.000000
-wvSetCursor -win $_nWave2 478586191.845603 -snap {("DAC" 0)}
-wvSetCursor -win $_nWave2 453413709.287628 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 453413709.287628 -snap {("DAC" 1)}
-wvSetMarker -win $_nWave2 449170212.000000
-wvSetCursor -win $_nWave2 476308974.597082 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 451505770.511840 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 476739799.481937 -snap {("DAC" 1)}
-wvSetMarker -win $_nWave2 479099172.000000
-wvSetCursor -win $_nWave2 449351646.087563 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 449905563.796663 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 449905563.796663 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 446458964.717821 -snap {("DAC" 1)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 144 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 141 -pos 1 -win $_nTrace1
-wvScrollDown -win $_nWave2 2
-wvScrollUp -win $_nWave2 2
-wvScrollDown -win $_nWave2 2
-wvScrollUp -win $_nWave2 2
-wvScrollUp -win $_nWave2 1
-wvSelectGroup -win $_nWave2 {DAC}
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvAddSignal -win $_nWave2 "/TB/start"
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvSetCursor -win $_nWave2 451074945.626985 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 451013399.214862 -snap {("DAC" 1)}
-wvSetMarker -win $_nWave2 479076480.000000
-wvSetMarker -win $_nWave2 479076480.000000
-wvSetCursor -win $_nWave2 475939696.124349 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 450459481.505763 -snap {("DAC" 1)}
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-wvSetCursor -win $_nWave2 471692993.687918 -snap {("B_sram" 0)}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvZoom -win $_nWave2 4615980.909164 8678044.109229
-wvZoom -win $_nWave2 5132565.341743 5325819.949614
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 5400699.479746 5452328.341135
-wvZoom -win $_nWave2 5445240.591224 5447885.802786
-wvZoom -win $_nWave2 5447778.832657 5448519.395089
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-verdiWindowResize -win $_Verdi_1 "233" "197" "1440" "723"
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "serial_in" -line 12 -pos 1 -win $_nTrace1
-wvCollapseGroup -win $_nWave2 "A_sram"
-wvExpandGroup -win $_nWave2 "A_sram"
-wvSelectGroup -win $_nWave2 {A_sram}
-wvCollapseGroup -win $_nWave2 "A_sram"
-wvCollapseGroup -win $_nWave2 "A_sram"
-wvExpandGroup -win $_nWave2 "A_sram"
-wvSelectGroup -win $_nWave2 {A_sram}
-wvCollapseGroup -win $_nWave2 "A_sram"
-wvExpandGroup -win $_nWave2 "A_sram"
-wvSelectGroup -win $_nWave2 {A_sram}
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 2
-wvScrollUp -win $_nWave2 4
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {B_sram}
-wvScrollDown -win $_nWave2 7
-wvCollapseGroup -win $_nWave2 "A_sram"
-wvSelectGroup -win $_nWave2 {B_sram}
-wvScrollUp -win $_nWave2 7
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 1998177.016752 6172146.785079
-wvZoom -win $_nWave2 2315139.039415 2609188.144778
-wvScrollDown -win $_nWave2 6
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 3236961.423349 5561375.211393
-wvZoom -win $_nWave2 4253493.711258 4555476.106411
-wvZoom -win $_nWave2 4419818.873090 4443303.322850
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 4)}
-wvSetPosition -win $_nWave2 {("LVDS" 1)}
-wvSetPosition -win $_nWave2 {("LVDS" 2)}
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-wvAddSignal -win $_nWave2 \
- "/TB/U_da4008_chip_top/digital_top/dut/serial_in\[3:0\]"
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-wvSetPosition -win $_nWave2 {("LVDS" 4)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 5
-wvScrollDown -win $_nWave2 6
-wvScrollUp -win $_nWave2 6
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoom -win $_nWave2 6474059.035839 7101113.182046
-wvZoom -win $_nWave2 6577325.043449 6653053.449029
-wvSelectSignal -win $_nWave2 {( "LVDS" 2 )}
-wvSelectSignal -win $_nWave2 {( "LVDS" 4 )}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 101 1 5 -win $_nTrace1 -name "lvds_drv.train_count" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -range {82 82 1 5 1 1} -backward
-wvSelectGroup -win $_nWave2 {A_sram}
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top.digital_top.dut" -delim "."
-srcHBSelect "TB.U_da4008_chip_top.digital_top.dut" -win $_nTrace1
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {B_sram}
-wvSelectGroup -win $_nWave2 {G7}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "serial_in" -line 12 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "serial_in" -line 12 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 4)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvAddSignal -win $_nWave2 \
- "/TB/U_da4008_chip_top/digital_top/dut/serial_in\[3:0\]"
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvSelectSignal -win $_nWave2 {( "G7" 1 )}
-wvExpandBus -win $_nWave2 {("G7" 1)}
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "tap_adj_mask" -line 16 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "train_ready" -line 25 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 4)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/digital_top/dut/train_ready"
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvSetPosition -win $_nWave2 {("G7" 2)}
-wvScrollDown -win $_nWave2 4
-wvScrollDown -win $_nWave2 7
-wvSetPosition -win $_nWave2 {("G7" 3)}
-wvSetPosition -win $_nWave2 {("G7" 4)}
-wvMoveSelected -win $_nWave2
-wvSetPosition -win $_nWave2 {("G7" 4)}
-wvScrollDown -win $_nWave2 11
-wvScrollDown -win $_nWave2 1
-wvSetPosition -win $_nWave2 {("G7" 5)}
-wvSetPosition -win $_nWave2 {("G7" 6)}
-wvSetPosition -win $_nWave2 {("G8" 0)}
-wvSetPosition -win $_nWave2 {("G7" 6)}
-wvMoveSelected -win $_nWave2
-wvSetPosition -win $_nWave2 {("G7" 6)}
-wvScrollUp -win $_nWave2 1
-wvSelectSignal -win $_nWave2 {( "G7" 1 )}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvCollapseBus -win $_nWave2 {("G7" 1)}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvSetPosition -win $_nWave2 {("G7" 2)}
-wvSelectSignal -win $_nWave2 {( "G7" 2 )}
-wvSelectSignal -win $_nWave2 {( "G7" 1 )}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvExpandBus -win $_nWave2 {("G7" 1)}
-wvSetPosition -win $_nWave2 {("G7" 6)}
-wvScrollDown -win $_nWave2 7
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 1
-wvZoom -win $_nWave2 4225137.024006 5688434.302924
-wvScrollDown -win $_nWave2 1
-wvZoom -win $_nWave2 4952099.899076 5023055.759810
-wvScrollDown -win $_nWave2 0
-wvZoom -win $_nWave2 4994946.072986 5000464.140838
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "frame_done" -line 35 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("A_sram" 0)}
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("G7" 4)}
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvSetPosition -win $_nWave2 {("B_sram" 0)}
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/digital_top/dut/frame_done"
-wvSetPosition -win $_nWave2 {("G7" 0)}
-wvSetPosition -win $_nWave2 {("G7" 1)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 17
-wvSetPosition -win $_nWave2 {("G7" 2)}
-wvSetPosition -win $_nWave2 {("G7" 3)}
-wvSetPosition -win $_nWave2 {("G7" 4)}
-wvSetPosition -win $_nWave2 {("G7" 5)}
-wvSetPosition -win $_nWave2 {("G7" 6)}
-wvSetPosition -win $_nWave2 {("G7" 7)}
-wvSetPosition -win $_nWave2 {("G8" 0)}
-wvSetPosition -win $_nWave2 {("G7" 7)}
-wvMoveSelected -win $_nWave2
-wvSetPosition -win $_nWave2 {("G7" 7)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvSetCursor -win $_nWave2 7452216.680695 -snap {("G7" 5)}
-wvZoom -win $_nWave2 3376785.683440 11178325.021043
-wvZoom -win $_nWave2 5311110.624419 7231160.104580
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "G7" 6 )}
-wvScrollUp -win $_nWave2 13
-wvScrollDown -win $_nWave2 12
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 8
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 13
-wvScrollUp -win $_nWave2 7
-wvSelectGroup -win $_nWave2 {A_sram}
-wvSelectGroup -win $_nWave2 {A_sram}
-wvZoom -win $_nWave2 5721295.028461 6441533.168320
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 5124611.006829 5688676.741248
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-debExit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd.bak b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd.bak
deleted file mode 100644
index 499cc38..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi.cmd.bak
+++ /dev/null
@@ -1,954 +0,0 @@
-sidCmdLineBehaviorAnalysisOpt -incr -clockSkew 0 -loopUnroll 0 -bboxEmptyModule 0 -cellModel 0 -bboxIgnoreProtected 0
-debImport "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-debLoadSimResult \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb
-wvCreateWindow
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSearchString "PI_mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 4 5 1 1}
-srcSearchString "PI_mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 4 5 1 1}
-nsMsgSwitchTab -tab general
-srcSearchString "PI_mosi" -win $_nTrace1 -next -case
-srcSearchString "PI_mosi" -win $_nTrace1 -next -case
-wvSelectGroup -win $_nWave2 {G1}
-wvSelectGroup -win $_nWave2 {G1}
-wvSelectGroup -win $_nWave2 {G1}
-wvSelectGroup -win $_nWave2 {G1}
-wvSelectGroup -win $_nWave2 {G1}
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 208 -pos 2 -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "PI_csn" -line 210 -pos 0
-srcSelect -win $_nTrace1 -signal "PI_mosi" -line 211 -pos 0
-srcSelect -win $_nTrace1 -signal "PO_miso" -line 212 -pos 0
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/PI_sclk" \
- "/TB/U_da4008_chip_top/PI_csn" "/TB/U_da4008_chip_top/PI_mosi" \
- "/TB/U_da4008_chip_top/PO_miso"
-wvSetPosition -win $_nWave2 {("G1" 0)}
-wvSetPosition -win $_nWave2 {("G1" 4)}
-wvSetPosition -win $_nWave2 {("G1" 4)}
-wvScrollUp -win $_nWave2 2
-wvSelectGroup -win $_nWave2 {G1}
-wvSelectGroup -win $_nWave2 {G1}
-wvSetPosition -win $_nWave2 {("G1" 0)}
-wvRenameGroup -win $_nWave2 {G1} {SPI}
-wvSelectGroup -win $_nWave2 {G2}
-wvSelectGroup -win $_nWave2 {SPI}
-wvSelectGroup -win $_nWave2 {SPI}
-wvSelectGroup -win $_nWave2 {SPI}
-wvSelectSignal -win $_nWave2 {( "SPI" 2 )}
-wvSelectGroup -win $_nWave2 {G2}
-wvSelectGroup -win $_nWave2 {G2}
-wvRenameGroup -win $_nWave2 {G2} {SYS}
-wvSelectGroup -win $_nWave2 {SYS}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "clk" -line 217 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/clk"
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-srcSearchString "PI_async_rstn" -win $_nTrace1 -next -case
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/PI_async_rstn"
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.sclk" -line 209 -pos 1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvAddSignal -win $_nWave2 "/TB/spi_bus/sclk"
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSelectSignal -win $_nWave2 {( "SYS" 3 )}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "rst_n" -line 214 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvAddSignal -win $_nWave2 "/TB/rst_n"
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSelectSignal -win $_nWave2 {( "SYS" 2 )}
-wvSelectSignal -win $_nWave2 {( "SYS" 3 )}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-srcSearchString "PI_sync_in" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {215 215 4 5 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "sync_out" -line 216 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PI_sync_in" -line 215 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/PI_sync_in"
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PO_sync_out" -line 216 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/PO_sync_out"
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "PO_irq" -line 213 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvScrollDown -win $_nWave2 0
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/PO_irq"
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 5)}
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvSetCursor -win $_nWave2 28824292.042648 -snap {("SYS" 4)}
-wvScrollDown -win $_nWave2 0
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvSetCursor -win $_nWave2 56840696.020036 -snap {("SYS" 5)}
-wvSetCursor -win $_nWave2 119740552.529517 -snap {("SYS" 4)}
-wvSetCursor -win $_nWave2 104159854.128086 -snap {("SYS" 4)}
-wvSetCursor -win $_nWave2 84539715.400358 -snap {("SYS" 5)}
-wvSetCursor -win $_nWave2 87713561.371020 -snap {("SYS" 5)}
-wvSetCursor -win $_nWave2 171964745.319499 -snap {("SYS" 4)}
-wvSetCursor -win $_nWave2 234287538.925224 -snap {("SYS" 5)}
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 217 -pos 3 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 5)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/lvds_data\[3:0\]"
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 218 -pos 3 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 5)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvSetPosition -win $_nWave2 {("G4" 0)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/lvds_valid\[0:0\]"
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvSetPosition -win $_nWave2 {("G3" 2)}
-wvSelectSignal -win $_nWave2 {( "G3" 1 )}
-wvSelectSignal -win $_nWave2 {( "G3" 1 )}
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "G3" 2 )}
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 219 -pos 3 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 5)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvSetPosition -win $_nWave2 {("G3" 2)}
-wvSetPosition -win $_nWave2 {("G4" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("G4" 0)}
-wvSetPosition -win $_nWave2 {("G3" 2)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/lvds_clk\[0:0\]"
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("G3" 1)}
-srcSearchString "phase_tap" -win $_nTrace1 -prev -case
-srcSearchString "phase_tap" -win $_nTrace1 -next -case
-srcSearchString "phase_tap" -win $_nTrace1 -next -case
-srcSearchString "phase_tap" -win $_nTrace1 -next -case
-srcSearchString "phase_tap" -win $_nTrace1 -next -case
-srcSearchString "phase_tap" -win $_nTrace1 -prev -case
-srcSearchString "phase_tap" -win $_nTrace1 -next -case
-srcSearchString "phase_" -win $_nTrace1 -next -case
-srcSearchString "p" -win $_nTrace1 -next -case
-srcSearchString "p" -win $_nTrace1 -next -case
-srcSearchString "pH" -win $_nTrace1 -next -case
-wvSelectGroup -win $_nWave2 {G3}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSelectGroup -win $_nWave2 {G3}
-wvScrollDown -win $_nWave2 0
-wvRenameGroup -win $_nWave2 {G3} {LVDS}
-wvSelectSignal -win $_nWave2 {( "LVDS" 1 )}
-wvScrollDown -win $_nWave2 3
-wvSelectGroup -win $_nWave2 {G4}
-wvScrollUp -win $_nWave2 4
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvSelectSignal -win $_nWave2 {( "SYS" 5 )}
-wvScrollDown -win $_nWave2 1
-wvSelectGroup -win $_nWave2 {LVDS}
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvSelectSignal -win $_nWave2 {( "SYS" 4 )}
-wvScrollDown -win $_nWave2 0
-wvSelectGroup -win $_nWave2 {LVDS}
-wvScrollDown -win $_nWave2 3
-wvScrollDown -win $_nWave2 0
-wvSelectGroup -win $_nWave2 {G4}
-wvSelectGroup -win $_nWave2 {G4}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "MSB_OUT" -line 221 -pos 1 -win $_nTrace1
-srcSelect -signal "LSB_OUT" -line 222 -pos 1 -win $_nTrace1
-srcSelect -signal "MSB_DUM" -line 223 -pos 1 -win $_nTrace1
-srcSelect -signal "DEM_VLD" -line 224 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SYS" 2)}
-wvSetPosition -win $_nWave2 {("SYS" 1)}
-wvSetPosition -win $_nWave2 {("SYS" 0)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvRenameGroup -win $_nWave2 {G4} {DAC}
-wvSetPosition -win $_nWave2 {("SYS" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 5)}
-wvSetPosition -win $_nWave2 {("LVDS" 0)}
-wvSetPosition -win $_nWave2 {("LVDS" 1)}
-wvSetPosition -win $_nWave2 {("LVDS" 2)}
-wvSetPosition -win $_nWave2 {("LVDS" 3)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvAddSignal -win $_nWave2 "/TB/U_da4008_chip_top/MSB_OUT\[63:0\]" \
- "/TB/U_da4008_chip_top/LSB_OUT\[63:0\]" \
- "/TB/U_da4008_chip_top/MSB_DUM\[63:0\]" \
- "/TB/U_da4008_chip_top/DEM_VLD"
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 4)}
-wvSetPosition -win $_nWave2 {("DAC" 4)}
-wvSetCursor -win $_nWave2 53666850.049374 -snap {("DAC" 2)}
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 1
-wvSelectSignal -win $_nWave2 {( "DAC" 4 )}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 0
-wvSelectSignal -win $_nWave2 {( "DAC" 1 )}
-wvSelectSignal -win $_nWave2 {( "DAC" 2 )}
-wvSetCursor -win $_nWave2 134455656.575313 -snap {("DAC" 4)}
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 2
-wvSetMarker -win $_nWave2 134469888.000000
-wvSetMarker -win $_nWave2 134469888.000000
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 125696870.125224 145979774.168157
-wvZoom -win $_nWave2 133691503.143912 135675042.954908
-wvZoom -win $_nWave2 134390532.379618 134573864.920288
-wvSetMarker -win $_nWave2 134466048.000000
-wvSetCursor -win $_nWave2 134466620.303456 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134467385.555564 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134463122.008106 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134454922.878381 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134434370.393201 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134464871.155781 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 134465089.799241 -snap {("DAC" 1)}
-wvScrollDown -win $_nWave2 1
-wvCenterMarker -win $_nWave2
-wvCenterCursor -win $_nWave2
-wvCenterMarker -win $_nWave2
-wvSetCursor -win $_nWave2 134464244.191396 -snap {("LVDS" 1)}
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 2
-wvScrollUp -win $_nWave2 3
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 2
-wvSelectSignal -win $_nWave2 {( "SYS" 4 )}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvCollapseGroup -win $_nWave2 "SYS"
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvScrollUp -win $_nWave2 3
-wvSelectSignal -win $_nWave2 {( "SPI" 1 )}
-wvSelectSignal -win $_nWave2 {( "SPI" 2 )}
-wvSelectSignal -win $_nWave2 {( "SPI" 3 )}
-wvSelectSignal -win $_nWave2 {( "SPI" 4 )}
-wvSelectSignal -win $_nWave2 {( "SPI" 3 )}
-wvSetCursor -win $_nWave2 6347691.941324 -snap {("SPI" 3)}
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 3462377.422540 -snap {("SPI" 3)}
-wvSetCursor -win $_nWave2 5482097.585689 -snap {("SPI" 3)}
-wvZoom -win $_nWave2 3750908.874419 15580698.401431
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 211 -pos 1
-srcAction -pos 210 7 10 -win $_nTrace1 -name "spi_bus.mosi" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcAction -pos 74 1 9 -win $_nTrace1 -name "spi_bus.mosi" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDumpAU -win $_nTrace1 -file
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcAction -pos 74 1 10 -win $_nTrace1 -name "spi_bus.mosi" -ctrlKey off
-srcDumpAU -win $_nTrace1 -file
-srcAction -pos 74 2 0 -win $_nTrace1 -name " " -ctrlKey off
-srcAction -pos 74 2 0 -win $_nTrace1 -name " " -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -range {75 75 2 3 9 1} -backward
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.csn" -line 76 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.csn" -line 76 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 76 -pos 1 -win $_nTrace1
-srcAction -pos 76 1 1 -win $_nTrace1 -name "vif" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.csn" -line 76 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 76 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.sclk" -line 74 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.sclk" -line 74 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcAction -pos 74 1 7 -win $_nTrace1 -name "spi_bus.mosi" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 75 -pos 1
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 8 9 1 1}
-nsMsgSwitchTab -tab general
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 8 9 1 1}
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 8 9 1 1}
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -next -case
-srcSearchString "spi_bus.mosi" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {211 211 8 9 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 211 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 211 -pos 1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -signal "spi_bus.mosi" -line 211 -pos 1
-srcAction -pos 210 7 5 -win $_nTrace1 -name "spi_bus.mosi" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -all -win $_nTrace1
-srcSelect -win $_nTrace1 -range {1 390 1 2 1 1}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -win $_nTrace1 -range {14 24 1 1 1 1} -backward
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 2 1 -win $_nTrace1 -name "my_drv" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 2 3 -win $_nTrace1 -name "my_drv" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 0 8 -win $_nTrace1 -name "spi_driver" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 2 2 -win $_nTrace1 -name "my_drv" -ctrlKey off
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcAction -pos 94 5 6 -win $_nTrace1 -name "CONFIG_FILE" -ctrlKey off
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {131 131 2 2 1 7}
-nsMsgSwitchTab -tab general
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 131 -pos 1 -win $_nTrace1
-srcAction -pos 130 3 4 -win $_nTrace1 -name "file_path" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "file_path" -line 131 -pos 1 -win $_nTrace1
-srcAction -pos 130 3 4 -win $_nTrace1 -name "file_path" -ctrlKey off
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {131 131 2 2 1 7}
-nsMsgSwitchTab -tab general
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 95 -pos 5 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 95 -pos 5 -win $_nTrace1
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {91 91 6 7 6 1}
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -next -case
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {78 78 2 3 6 1}
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {77 77 2 3 1 1}
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {68 68 5 6 6 1}
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {65 65 5 6 1 1}
-srcSearchString "vif" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {96 96 6 7 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 93 1 3 -win $_nTrace1 -name "my_drv" -ctrlKey off
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {81 81 3 4 1 1}
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {131 131 2 2 1 7}
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {120 120 2 2 1 7}
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {108 108 2 2 1 7}
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {96 96 2 2 1 7}
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {95 95 2 2 1 7}
-srcSearchString "my_drv" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {94 94 2 3 1 1}
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "CONFIG_FILE" -line 95 -pos 1 -win $_nTrace1
-srcAction -pos 94 5 5 -win $_nTrace1 -name "CONFIG_FILE" -ctrlKey off
-srcSearchString "CONFIG_FILE" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcAction -pos 39 8 15 -win $_nTrace1 -name "\"../../case_temp.txt\"" -ctrlKey \
- off
-srcHBSelect "TB.spi_bus" -win $_nTrace1
-srcHBSelect "TB.spi_bus" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.spi_bus" -delim "."
-srcHBSelect "TB.spi_bus" -win $_nTrace1
-srcHBSelect "TB.clk_inst" -win $_nTrace1
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcSearchString "spi_dre" -win $_nTrace1 -next -case
-srcSearchString "spi_dr" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcAction -pos 80 0 7 -win $_nTrace1 -name "spi_driver" -ctrlKey off
-srcSearchString "spi_driver" -win $_nTrace1 -next -case
-srcSearchString "spi_driver" -win $_nTrace1 -next -case
-srcSearchString "spi_dri" -win $_nTrace1 -next -case
-srcSearchString "spi_dri" -win $_nTrace1 -next -case
-srcSearchString "spi_dri" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 2 -pos 3 -win $_nTrace1
-srcAction -pos 2 3 17 -win $_nTrace1 -name "\"../../model/SPI_DRIVER.sv\"" \
- -ctrlKey on
-srcDeselectAll -win $_nTrace1
-srcSelect -word -line 2 -pos 3 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-wvSelectGroup -win $_nWave2 {SYS}
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "cs_wave" -line 381 -pos 1 -win $_nTrace1
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvExpandGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 3
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "cs_wave" -line 323 -pos 1 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 0)}
-wvSetPosition -win $_nWave2 {("SPI" 1)}
-wvSetPosition -win $_nWave2 {("SPI" 2)}
-wvSetPosition -win $_nWave2 {("SPI" 3)}
-wvSetPosition -win $_nWave2 {("SPI" 4)}
-wvSetPosition -win $_nWave2 {("SYS" 3)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvSetPosition -win $_nWave2 {("DAC" 2)}
-wvSetPosition -win $_nWave2 {("DAC" 3)}
-wvSetPosition -win $_nWave2 {("DAC" 4)}
-wvSetPosition -win $_nWave2 {("G5" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 4)}
-wvSetPosition -win $_nWave2 {("DAC" 3)}
-wvSetPosition -win $_nWave2 {("DAC" 2)}
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvAddSignal -win $_nWave2 "/TB/cs_wave\[7:0\]"
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 0
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 127819433.182111 138206565.449732
-wvZoom -win $_nWave2 134341586.001304 134923810.469495
-wvZoom -win $_nWave2 134391233.048975 134499553.880267
-wvZoom -win $_nWave2 134395754.490874 134414809.139193
-wvZoom -win $_nWave2 134397845.161814 134399344.991020
-wvSetCursor -win $_nWave2 134397936.385759 -snap {("DAC" 1)}
-wvBusWaveform -win $_nWave2 -analog
-wvSetPosition -win $_nWave2 {("DAC" 1)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 4
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 110556110.769231 157692437.066190
-wvZoom -win $_nWave2 131974047.941700 135318843.904335
-wvZoom -win $_nWave2 134008449.779438 134862100.746646
-wvZoom -win $_nWave2 134367319.148441 134503740.412133
-wvZoom -win $_nWave2 134391479.622650 134424100.330306
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollUp -win $_nWave2 4
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 4
-wvScrollUp -win $_nWave2 4
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 4
-wvScrollDown -win $_nWave2 1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 4
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvSetCursor -win $_nWave2 240923762.318426 -snap {("DAC" 1)}
-wvSetCursor -win $_nWave2 133878593.671556 -snap {("DAC" 1)}
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 4
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 4
-wvScrollUp -win $_nWave2 6
-wvSetCursor -win $_nWave2 288531451.878354 -snap {("DAC" 1)}
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 4
-wvScrollUp -win $_nWave2 4
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvSetCursor -win $_nWave2 132724467.864043 -snap {("DAC" 0)}
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcSearchString "my_drv" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "start" -line 83 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out_r\[38\]\[7\]" -line 361 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out_r\[0 \]\[7\]" -line 323 -pos 1 -win $_nTrace1
-srcSearchString "data_out_r" -win $_nTrace1 -next -case
-srcSearchString "data_out_r" -win $_nTrace1 -next -case
-srcSearchString "data_out_r" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {323 323 14 14 1 11}
-srcSearchString "data_out_r" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {323 323 12 12 1 11}
-srcSearchString "data_out_r" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {290 290 2 3 1 1}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out" -line 290 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out" -line 290 -pos 1 -win $_nTrace1
-srcAction -pos 289 5 4 -win $_nTrace1 -name "data_out" -ctrlKey off
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out_r\[k\]" -line 42 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "data_out_r\[k\]" -line 42 -pos 1 -win $_nTrace1
-srcAction -pos 41 7 3 -win $_nTrace1 -name "data_out_r\[k\]" -ctrlKey off
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB.U_DEM_Reverse_64CH.genblk1\[0\].U_DEM_Reverse" -win $_nTrace1
-srcHBSelect "TB.lvds_bus" -win $_nTrace1
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.U_da4008_chip_top" -delim "."
-srcHBSelect "TB.U_da4008_chip_top" -win $_nTrace1
-srcHBSelect "TB.U_DEM_Reverse_64CH" -win $_nTrace1
-wvSelectGroup -win $_nWave2 {DAC}
-wvSetPosition -win $_nWave2 {("DAC" 0)}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvExpandGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 3
-wvExpandGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {DAC}
-wvCollapseGroup -win $_nWave2 "LVDS"
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollUp -win $_nWave2 3
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "csn" -line 82 -pos 1 -win $_nTrace1
-wvCollapseGroup -win $_nWave2 "SPI"
-wvSelectGroup -win $_nWave2 {DAC}
-wvExpandGroup -win $_nWave2 "SPI"
-wvSelectGroup -win $_nWave2 {DAC}
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 6
-wvScrollDown -win $_nWave2 4
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 4
-wvZoom -win $_nWave2 113681392.040072 142246005.776029
-wvZoom -win $_nWave2 132315671.960773 135449773.885291
-wvZoom -win $_nWave2 134317236.159363 134500385.824600
-wvScrollUp -win $_nWave2 6
-wvScrollUp -win $_nWave2 2
-wvSelectGroup -win $_nWave2 {LVDS}
-wvCollapseGroup -win $_nWave2 "DAC"
-wvSelectGroup -win $_nWave2 {LVDS}
-wvSelectGroup -win $_nWave2 {DAC}
-wvSelectGroup -win $_nWave2 {LVDS}
-wvScrollUp -win $_nWave2 1
-wvSelectGroup -win $_nWave2 {SPI}
-wvSelectGroup -win $_nWave2 {LVDS}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 157249641.273703 -snap {("LVDS" 2)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "LVDS" 2 )}
-wvZoom -win $_nWave2 126953838.826476 143977194.487299
-wvZoom -win $_nWave2 132506477.792691 136120261.105305
-wvZoom -win $_nWave2 133933027.913620 134540712.406260
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSaveSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/my_signal.rc"
-debExit
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi_perf_err.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdiLog/verdi_perf_err.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.log b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.log
deleted file mode 100644
index f871c64..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.log
+++ /dev/null
@@ -1,2 +0,0 @@
-File Name Time
-./verdplus_000.fsdb 0 to 509,079,552
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.vf b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.vf
deleted file mode 100644
index 1ef6a51..0000000
--- a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus.vf
+++ /dev/null
@@ -1,7 +0,0 @@
-@FSDB rc file Version 1.0
-[VRTL_FILE_HEADER]
-# !! DON'T EDIT [VRTL_FILE_HEADER] SESSION !!
-Version = 1
-[VRTL_FILE_SOURCE]
-FileType = switch
-File1 = ./verdplus_000.fsdb
diff --git a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb b/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb
deleted file mode 100644
index 1c20fc2..0000000
Binary files a/DA4008_V1.2/sim/chip_top/work_RTL/sine_1g/verdplus_000.fsdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/compile.log b/DA4008_V1.2/sim/lvds/compile.log
deleted file mode 100644
index f2908d6..0000000
--- a/DA4008_V1.2/sim/lvds/compile.log
+++ /dev/null
@@ -1,21 +0,0 @@
-Command: vcs -full64 -j8 -sverilog +lint=TFIPC-L +v2k -debug_access+pp -lca -q -timescale=1ns/1ps \
-+nospecify -l compile.log -cm line+cond+fsm+tgl+branch -cm_dir ./coverage/simv.vdb \
--f filelist_vlg.f +incdir+./../../rtl/define +incdir+./../../rtl/qubitmcu +incdir+./../../model \
-
-
-Warning-[LCA_FEATURES_ENABLED] Usage warning
- LCA features enabled by '-lca' argument on the command line. For more
- information regarding list of LCA features please refer to Chapter "LCA
- features" in the VCS/VCS-MX Release Notes
-
-VCS Coverage Metrics Release O-2018.09-SP2_Full64 Copyright (c) 1991-2018 by Synopsys Inc.
-
-Note-[VCS_PARAL] Parallel code-gen enabled
- VCS is running with parallel code generation(-j)...
-
-13 modules and 0 UDP read.
-make[1]: Entering directory `/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/csrc' \
-
-../simv up to date
-make[1]: Leaving directory `/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/csrc' \
-
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.cmoptions b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.cmoptions
deleted file mode 100644
index aa3c928..0000000
--- a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.cmoptions
+++ /dev/null
@@ -1,16 +0,0 @@
-Instrument
-cond 3
-line 3
-fsm 65539
-tgl 8
-assign 0
-obc 0
-path 0
-branch 3
-Count 0
-Glitch -1
-cm_tglmda 0
-cm_tglstructarr 0
-cm_tglcount 0
-cm_hier 0
-cm_assert_hier 0
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.mode64 b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.mode64
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.vdb_version b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.vdb_version
deleted file mode 100644
index 7239f16..0000000
--- a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/.vdb_version
+++ /dev/null
@@ -1 +0,0 @@
-O-2018.09-SP2
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml
deleted file mode 100644
index 4a5cb04..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/dve_debug.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.instance_parameters.txt b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.instance_parameters.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml
deleted file mode 100644
index 2b074a4..0000000
--- a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/auxiliary/verilog.sourceinfo.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml
deleted file mode 100644
index d555666..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/design/verilog.design.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml
deleted file mode 100644
index e4daf9a..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/branch.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml
deleted file mode 100644
index 4419c10..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/cond.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt
deleted file mode 100644
index 0f7f407..0000000
--- a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.generated_config.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-// Synopsys, Inc.
-// User: shbyang
-// Date: Fri Mar 13 18:07:26 2026
-
-// ==================================================================================================
-// This config file prototype is produced from the last run using the complete list of extracted fsms.
-// Please note that by providing your own description of the module you are enforcing what will be
-// extracted for that module.
-// Copy this file to your source directory and edit it as described below,
-// then pass the file to VCS using the -cm_fsmcfg command line option.
-// FSMs will be extracted normally for any module not mentioned in this file
-// ==================================================================================================
-// 1. For every module that you want to specify yourself, use:
-// MODULE==name
-// -----------------------------------------------------
-// The following options are defining the behavior on the module level.
-// -----------------------------------------------------
-// 1.1 You can control what fsms should be used within this module:
-// FSMS=AUTO
-// this means that you want VCS to automatically extract all
-// detectable FSMs from this module.
-// -----------------------------------------------------
-// FSMS=EXCLUDE
-// this means that you want all fsms except the ones from the list that follows
-// if the list is empty, all fsms will be extracted for this module
-// -----------------------------------------------------
-// FSMS=RESTRICT
-// this means that you want only the fsms from the list that follows
-// if the list is empty, no fsms will be extracted for this module
-// -----------------------------------------------------
-// If none of these options are specified, the program will assume FSMS=RESTRICT
-// -----------------------------------------------------
-// 1.2 You can specify that the state with the minimal value should be used as a
-// start state for all sequences in every fsm in the module.
-// FSMS=START_STATE_DFLT
-// For any particular fsm you can overwrite this behavior inside its description.
-// -----------------------------------------------------
-// 2. Each fsm description in the list of fsms should be specified as follows:
-// 2.1 provide the current state variable declaration:
-// CURRENT= name of the current state variable
-// -----------------------------------------------------
-// 2.2 if next state variable is different from the current state provide:
-// NEXT= next state variable
-// if you don't use NEXT=, the program will assume that CURRENT and NEXT are the same
-// -----------------------------------------------------
-// 2.3 if you want to provide the restrictive the list of states, provide:
-// STATES= s0,s1 etc. where s0 is either a name or a value of the state
-// if you don't use STATES=, the program will assume that you want to use all states
-// -----------------------------------------------------
-// 2.4 if you want to ignore some states, specify them in the following list:
-// STATES_X= s0,s1, etc.
-// -----------------------------------------------------
-// 2.5 if you want to mark, that some states should never be reached, specify them as a list:
-// STATES_NEVER= s0,s1, etc.
-// -----------------------------------------------------
-// 2.6 similar to the STATES, if you want to provide the restrictive the list of transitions, specify:
-// TRANSITIONS= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.7 similar to the STATES_X, if you want to ignore some transitions, specify them in the following list:
-// TRANSITIONS_X= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.8 similar to the STATES_NEVER,if you want to mark, that some transitions should never occur,
-// specify them as a list:
-// TRANSITIONS_NEVER= s0->s1,s1->s2, etc.
-// -----------------------------------------------------
-// 2.9 if you want to specify the start state use:
-// START_STATE= s0
-// -----------------------------------------------------
-// Please note:
-// - that a state in every list can be specified either by name or by value.
-// - in specifying the transitions you can use * in order to refer to 'any' state.
-// ==================================================================================================
-// Uncomment and modify the following 2 line to override default FSM sequence limits for all FSMs in the design.
-//SEQ_NUMBER_MAX=10000
-//SEQ_LENGTH_MAX=32
-
-MODULE=ulink_rx_train
-CURRENT=state_c
-NEXT=qout
-STATES=SM_DOWN,SM_EXIT,SM_MATCH,SM_READY
-TRANSITIONS=SM_DOWN->SM_MATCH,
-SM_EXIT->SM_DOWN,
-SM_EXIT->SM_READY,
-SM_MATCH->SM_DOWN,
-SM_MATCH->SM_EXIT,
-SM_READY->SM_DOWN
-MODULE=ulink_frame_receiver
-CURRENT=word_state_c
-NEXT=qout
-STATES=S_IDLE,S_WORD0,S_WORD1,S_WORD2,S_WORD3
-TRANSITIONS=S_IDLE->S_WORD0,
-S_WORD0->S_WORD1,
-S_WORD1->S_WORD2,
-S_WORD2->S_WORD3,
-S_WORD3->S_IDLE
-MODULE=ulink_frame_receiver
-CURRENT=state_c
-NEXT=qout
-STATES=ST_CRC,ST_DATA,ST_HEAD,ST_IDLE
-TRANSITIONS=ST_CRC->ST_IDLE,
-ST_DATA->ST_CRC,
-ST_HEAD->ST_DATA,
-ST_IDLE->ST_HEAD
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml
deleted file mode 100644
index 163cce5..0000000
--- a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/fsm.verilog.shape.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml
deleted file mode 100644
index 871fb0a..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.exclude.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml
deleted file mode 100644
index 123f298..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/line.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml b/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml
deleted file mode 100644
index 9b204f3..0000000
Binary files a/DA4008_V1.2/sim/lvds/coverage/simv.vdb/snps/coverage/db/shape/tgl.verilog.shape.xml and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/Makefile b/DA4008_V1.2/sim/lvds/csrc/Makefile
deleted file mode 100644
index 9f5afa1..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/Makefile
+++ /dev/null
@@ -1,116 +0,0 @@
-# Makefile generated by VCS to build your model
-# This file may be modified; VCS will not overwrite it unless -Mupdate is used
-
-# define default verilog source directory
-VSRC=..
-
-# Override TARGET_ARCH
-TARGET_ARCH=
-
-# Choose name of executable
-PRODUCTBASE=$(VSRC)/simv
-
-PRODUCT=$(PRODUCTBASE)
-
-# Product timestamp file. If product is newer than this one,
-# we will also re-link the product.
-PRODUCT_TIMESTAMP=product_timestamp
-
-# Path to runtime library
-DEPLIBS=
-VCSUCLI=-lvcsucli
-RUNTIME=-lvcsnew -lsimprofile -lreader_common /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libBA.a -luclinative /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o $(DEPLIBS)
-
-VCS_SAVE_RESTORE_OBJ=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
-
-# Select your favorite compiler
-
-# Linux:
-VCS_CC=gcc
-
-# Internal CC for gen_c flow:
-CC_CG=gcc
-# User overrode default CC:
-VCS_CC=gcc
-# Loader
-LD=g++
-
-# Strip Flags for target product
-STRIPFLAGS=
-
-PRE_LDFLAGS= # Loader Flags
-LDFLAGS= -rdynamic -Wl,-rpath=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib -L/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib
-# Picarchive Flags
-PICLDFLAGS=-Wl,-rpath-link=./ -Wl,-rpath='$$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$$ORIGIN'/simv.daidir//scsim.db.dir
-
-# C run time startup
-CRT0=
-# C run time startup
-CRTN=
-# Machine specific libraries
-SYSLIBS=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lc -lm -lpthread -ldl
-
-# Default defines
-SHELL=/bin/sh
-
-VCSTMPSPECARG=
-VCSTMPSPECENV=
-# NOTE: if you have little space in $TMPDIR, but plenty in /foo,
-#and you are using gcc, uncomment the next line
-#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo
-
-TMPSPECARG=$(VCSTMPSPECARG)
-TMPSPECENV=$(VCSTMPSPECENV)
-CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG)
-
-# C flags for compilation
-CFLAGS=-w -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
-
-CFLAGS_O0=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O0 -fno-strict-aliasing
-
-CFLAGS_CG=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O -fno-strict-aliasing
-
-LD_PARTIAL_LOADER=ld
-# Partial linking
-LD_PARTIAL=$(LD_PARTIAL_LOADER) -r -o
-ASFLAGS=
-LIBS=-lzerosoft_rt_stubs -lvirsim -lerrorinf -lsnpsmalloc -lvfs
-# Note: if make gives you errors about include, either get gmake, or
-# replace the following line with the contents of the file filelist,
-# EACH TIME IT CHANGES
-# included file defines OBJS, and is automatically generated by vcs
-include filelist
-
-OBJS=$(VLOG_OBJS) $(SYSC_OBJS) $(VHDL_OBJS)
-
-product : $(PRODUCT_TIMESTAMP)
- @echo $(PRODUCT) up to date
-
-objects : $(OBJS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS)
-
-clean :
- rm -f $(VCS_OBJS) $(CU_OBJS)
-
-clobber : clean
- rm -f $(PRODUCT) $(PRODUCT_TIMESTAMP)
-
-picclean :
- @rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so
- @rm -f $(PRODUCT).daidir/_[0-9]*_archive_*.so 2>/dev/null
-
-product_clean_order :
- @$(MAKE) -f Makefile --no-print-directory picclean
- @$(MAKE) -f Makefile --no-print-directory product_order
-
-product_order : $(PRODUCT)
-
-$(PRODUCT_TIMESTAMP) : product_clean_order
- @-if [ -x $(PRODUCT) ]; then chmod -x $(PRODUCT); fi
- @$(LD) $(CRT0) -o $(PRODUCT) $(PRE_LDFLAGS) $(STRIPFLAGS) $(PCLDFLAGS) $(PICLDFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(RUNTIME) -Wl,-whole-archive $(VCSUCLI) -Wl,-no-whole-archive $(LINK_TB) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(VCS_SAVE_RESTORE_OBJ) $(SYSLIBS) $(CRTN)
- @rm -f csrc[0-9]*.o
- @touch $(PRODUCT_TIMESTAMP)
- @-if [ -d ./objs ]; then find ./objs -type d -empty -delete; fi
-
-$(PRODUCT) : $(LD_VERSION_CHECK) $(OBJS) $(DOTLIBS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(CMODLIB) /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsnew.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsimprofile.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libreader_common.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libBA.a /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libuclinative.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_tls.o /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvcsucli.so $(VCS_SAVE_RESTORE_OBJ)
- @touch $(PRODUCT)
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/Makefile.hsopt b/DA4008_V1.2/sim/lvds/csrc/Makefile.hsopt
deleted file mode 100644
index dcb7127..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/Makefile.hsopt
+++ /dev/null
@@ -1,47 +0,0 @@
-# Makefile generated by VCS to build rmapats.so for your model
-VSRC=..
-
-# Override TARGET_ARCH
-TARGET_ARCH=
-
-# Select your favorite compiler
-
-# Linux:
-VCS_CC=gcc
-
-# Internal CC for gen_c flow:
-CC_CG=gcc
-
-# User overrode default CC:
-VCS_CC=gcc
-# Loader
-LD=g++
-# Loader Flags
-LDFLAGS=
-
-# Default defines
-SHELL=/bin/sh
-
-VCSTMPSPECARG=
-VCSTMPSPECENV=
-# NOTE: if you have little space in $TMPDIR, but plenty in /foo,
-#and you are using gcc, uncomment the next line
-#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo
-
-TMPSPECARG=$(VCSTMPSPECARG)
-TMPSPECENV=$(VCSTMPSPECENV)
-CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG)
-
-# C flags for compilation
-CFLAGS=-w -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
-
-CFLAGS_CG=-w -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -O -fno-strict-aliasing
-
-ASFLAGS=
-LIBS=
-
-include filelist.hsopt
-
-
-rmapats.so: $(HSOPT_OBJS)
- @$(VCS_CC) $(LDFLAGS) $(LIBS) -shared -o ./../simv.daidir/rmapats.so $(HSOPT_OBJS)
diff --git a/DA4008_V1.2/sim/lvds/csrc/SIM_l.o b/DA4008_V1.2/sim/lvds/csrc/SIM_l.o
deleted file mode 100644
index 8fd683e..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/SIM_l.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/_117681_archive_1.so b/DA4008_V1.2/sim/lvds/csrc/_117681_archive_1.so
deleted file mode 120000
index 41df482..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/_117681_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_117681_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/_117699_archive_1.so b/DA4008_V1.2/sim/lvds/csrc/_117699_archive_1.so
deleted file mode 120000
index a113674..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/_117699_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_117699_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/_117700_archive_1.so b/DA4008_V1.2/sim/lvds/csrc/_117700_archive_1.so
deleted file mode 120000
index 05f8372..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/_117700_archive_1.so
+++ /dev/null
@@ -1 +0,0 @@
-.//../simv.daidir//_117700_archive_1.so
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.c b/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.c
deleted file mode 100644
index e4d8eaa..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.c
+++ /dev/null
@@ -1,964 +0,0 @@
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-#include
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern void* VCS_dlsymLookup(const char *);
-extern void vcsMsgReportNoSource1(const char *, const char*);
-
-/* PLI routine: $fsdbDumpvars:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvars
-#define __VCS_PLI_STUB_novas_call_fsdbDumpvars
-extern void novas_call_fsdbDumpvars(int data, int reason);
-#pragma weak novas_call_fsdbDumpvars
-void novas_call_fsdbDumpvars(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvars");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvars");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvars");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvars)(int data, int reason) = novas_call_fsdbDumpvars;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvars */
-
-/* PLI routine: $fsdbDumpvars:misc */
-#ifndef __VCS_PLI_STUB_novas_misc
-#define __VCS_PLI_STUB_novas_misc
-extern void novas_misc(int data, int reason, int iparam );
-#pragma weak novas_misc
-void novas_misc(int data, int reason, int iparam )
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason, int iparam ) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) dlsym(RTLD_NEXT, "novas_misc");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) VCS_dlsymLookup("novas_misc");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason, iparam );
- }
-}
-void (*__vcs_pli_dummy_reference_novas_misc)(int data, int reason, int iparam ) = novas_misc;
-#endif /* __VCS_PLI_STUB_novas_misc */
-
-/* PLI routine: $fsdbDumpvarsByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile
-extern void novas_call_fsdbDumpvarsByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpvarsByFile
-void novas_call_fsdbDumpvarsByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvarsByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvarsByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvarsByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvarsByFile)(int data, int reason) = novas_call_fsdbDumpvarsByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile */
-
-/* PLI routine: $fsdbAddRuntimeSignal:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal
-#define __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal
-extern void novas_call_fsdbAddRuntimeSignal(int data, int reason);
-#pragma weak novas_call_fsdbAddRuntimeSignal
-void novas_call_fsdbAddRuntimeSignal(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbAddRuntimeSignal");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbAddRuntimeSignal");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbAddRuntimeSignal");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbAddRuntimeSignal)(int data, int reason) = novas_call_fsdbAddRuntimeSignal;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal */
-
-/* PLI routine: $sps_create_transaction_stream:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_create_transaction_stream
-#define __VCS_PLI_STUB_novas_call_sps_create_transaction_stream
-extern void novas_call_sps_create_transaction_stream(int data, int reason);
-#pragma weak novas_call_sps_create_transaction_stream
-void novas_call_sps_create_transaction_stream(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_create_transaction_stream");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_create_transaction_stream");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_create_transaction_stream");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_create_transaction_stream)(int data, int reason) = novas_call_sps_create_transaction_stream;
-#endif /* __VCS_PLI_STUB_novas_call_sps_create_transaction_stream */
-
-/* PLI routine: $sps_begin_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_begin_transaction
-#define __VCS_PLI_STUB_novas_call_sps_begin_transaction
-extern void novas_call_sps_begin_transaction(int data, int reason);
-#pragma weak novas_call_sps_begin_transaction
-void novas_call_sps_begin_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_begin_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_begin_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_begin_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_begin_transaction)(int data, int reason) = novas_call_sps_begin_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_begin_transaction */
-
-/* PLI routine: $sps_end_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_end_transaction
-#define __VCS_PLI_STUB_novas_call_sps_end_transaction
-extern void novas_call_sps_end_transaction(int data, int reason);
-#pragma weak novas_call_sps_end_transaction
-void novas_call_sps_end_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_end_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_end_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_end_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_end_transaction)(int data, int reason) = novas_call_sps_end_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_end_transaction */
-
-/* PLI routine: $sps_free_transaction:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_free_transaction
-#define __VCS_PLI_STUB_novas_call_sps_free_transaction
-extern void novas_call_sps_free_transaction(int data, int reason);
-#pragma weak novas_call_sps_free_transaction
-void novas_call_sps_free_transaction(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_free_transaction");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_free_transaction");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_free_transaction");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_free_transaction)(int data, int reason) = novas_call_sps_free_transaction;
-#endif /* __VCS_PLI_STUB_novas_call_sps_free_transaction */
-
-/* PLI routine: $sps_add_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_add_attribute
-#define __VCS_PLI_STUB_novas_call_sps_add_attribute
-extern void novas_call_sps_add_attribute(int data, int reason);
-#pragma weak novas_call_sps_add_attribute
-void novas_call_sps_add_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_add_attribute)(int data, int reason) = novas_call_sps_add_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_sps_add_attribute */
-
-/* PLI routine: $sps_update_label:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_update_label
-#define __VCS_PLI_STUB_novas_call_sps_update_label
-extern void novas_call_sps_update_label(int data, int reason);
-#pragma weak novas_call_sps_update_label
-void novas_call_sps_update_label(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_update_label");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_update_label");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_update_label");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_update_label)(int data, int reason) = novas_call_sps_update_label;
-#endif /* __VCS_PLI_STUB_novas_call_sps_update_label */
-
-/* PLI routine: $sps_add_relation:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_add_relation
-#define __VCS_PLI_STUB_novas_call_sps_add_relation
-extern void novas_call_sps_add_relation(int data, int reason);
-#pragma weak novas_call_sps_add_relation
-void novas_call_sps_add_relation(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_relation");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_relation");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_relation");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_add_relation)(int data, int reason) = novas_call_sps_add_relation;
-#endif /* __VCS_PLI_STUB_novas_call_sps_add_relation */
-
-/* PLI routine: $fsdbWhatif:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbWhatif
-#define __VCS_PLI_STUB_novas_call_fsdbWhatif
-extern void novas_call_fsdbWhatif(int data, int reason);
-#pragma weak novas_call_fsdbWhatif
-void novas_call_fsdbWhatif(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbWhatif");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbWhatif");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbWhatif");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbWhatif)(int data, int reason) = novas_call_fsdbWhatif;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbWhatif */
-
-/* PLI routine: $paa_init:call */
-#ifndef __VCS_PLI_STUB_novas_call_paa_init
-#define __VCS_PLI_STUB_novas_call_paa_init
-extern void novas_call_paa_init(int data, int reason);
-#pragma weak novas_call_paa_init
-void novas_call_paa_init(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_init");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_init");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_init");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_paa_init)(int data, int reason) = novas_call_paa_init;
-#endif /* __VCS_PLI_STUB_novas_call_paa_init */
-
-/* PLI routine: $paa_sync:call */
-#ifndef __VCS_PLI_STUB_novas_call_paa_sync
-#define __VCS_PLI_STUB_novas_call_paa_sync
-extern void novas_call_paa_sync(int data, int reason);
-#pragma weak novas_call_paa_sync
-void novas_call_paa_sync(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_sync");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_sync");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_sync");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_paa_sync)(int data, int reason) = novas_call_paa_sync;
-#endif /* __VCS_PLI_STUB_novas_call_paa_sync */
-
-/* PLI routine: $fsdbDumpClassMethod:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod
-extern void novas_call_fsdbDumpClassMethod(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassMethod
-void novas_call_fsdbDumpClassMethod(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassMethod");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassMethod");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassMethod");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassMethod)(int data, int reason) = novas_call_fsdbDumpClassMethod;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod */
-
-/* PLI routine: $fsdbSuppressClassMethod:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod
-#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod
-extern void novas_call_fsdbSuppressClassMethod(int data, int reason);
-#pragma weak novas_call_fsdbSuppressClassMethod
-void novas_call_fsdbSuppressClassMethod(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassMethod");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassMethod");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassMethod");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassMethod)(int data, int reason) = novas_call_fsdbSuppressClassMethod;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod */
-
-/* PLI routine: $fsdbSuppressClassProp:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp
-#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp
-extern void novas_call_fsdbSuppressClassProp(int data, int reason);
-#pragma weak novas_call_fsdbSuppressClassProp
-void novas_call_fsdbSuppressClassProp(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassProp");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassProp");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassProp");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassProp)(int data, int reason) = novas_call_fsdbSuppressClassProp;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp */
-
-/* PLI routine: $fsdbDumpMDAByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile
-extern void novas_call_fsdbDumpMDAByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpMDAByFile
-void novas_call_fsdbDumpMDAByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpMDAByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpMDAByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpMDAByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpMDAByFile)(int data, int reason) = novas_call_fsdbDumpMDAByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile */
-
-/* PLI routine: $fsdbTrans_create_stream_begin:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin
-extern void novas_call_fsdbEvent_create_stream_begin(int data, int reason);
-#pragma weak novas_call_fsdbEvent_create_stream_begin
-void novas_call_fsdbEvent_create_stream_begin(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_begin");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_begin");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_begin");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_begin)(int data, int reason) = novas_call_fsdbEvent_create_stream_begin;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin */
-
-/* PLI routine: $fsdbTrans_define_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute
-extern void novas_call_fsdbEvent_add_stream_attribute(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_stream_attribute
-void novas_call_fsdbEvent_add_stream_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_stream_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_stream_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_stream_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_stream_attribute)(int data, int reason) = novas_call_fsdbEvent_add_stream_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute */
-
-/* PLI routine: $fsdbTrans_create_stream_end:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end
-extern void novas_call_fsdbEvent_create_stream_end(int data, int reason);
-#pragma weak novas_call_fsdbEvent_create_stream_end
-void novas_call_fsdbEvent_create_stream_end(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_end");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_end");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_end");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_end)(int data, int reason) = novas_call_fsdbEvent_create_stream_end;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end */
-
-/* PLI routine: $fsdbTrans_begin:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_begin
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_begin
-extern void novas_call_fsdbEvent_begin(int data, int reason);
-#pragma weak novas_call_fsdbEvent_begin
-void novas_call_fsdbEvent_begin(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_begin");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_begin");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_begin");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_begin)(int data, int reason) = novas_call_fsdbEvent_begin;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_begin */
-
-/* PLI routine: $fsdbTrans_set_label:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_set_label
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_set_label
-extern void novas_call_fsdbEvent_set_label(int data, int reason);
-#pragma weak novas_call_fsdbEvent_set_label
-void novas_call_fsdbEvent_set_label(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_set_label");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_set_label");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_set_label");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_set_label)(int data, int reason) = novas_call_fsdbEvent_set_label;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_set_label */
-
-/* PLI routine: $fsdbTrans_add_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute
-extern void novas_call_fsdbEvent_add_attribute(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_attribute
-void novas_call_fsdbEvent_add_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_attribute)(int data, int reason) = novas_call_fsdbEvent_add_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute */
-
-/* PLI routine: $fsdbTrans_add_tag:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag
-extern void novas_call_fsdbEvent_add_tag(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_tag
-void novas_call_fsdbEvent_add_tag(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_tag");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_tag");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_tag");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_tag)(int data, int reason) = novas_call_fsdbEvent_add_tag;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag */
-
-/* PLI routine: $fsdbTrans_end:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_end
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_end
-extern void novas_call_fsdbEvent_end(int data, int reason);
-#pragma weak novas_call_fsdbEvent_end
-void novas_call_fsdbEvent_end(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_end");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_end");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_end");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_end)(int data, int reason) = novas_call_fsdbEvent_end;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_end */
-
-/* PLI routine: $fsdbTrans_add_relation:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation
-extern void novas_call_fsdbEvent_add_relation(int data, int reason);
-#pragma weak novas_call_fsdbEvent_add_relation
-void novas_call_fsdbEvent_add_relation(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_relation");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_relation");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_relation");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_relation)(int data, int reason) = novas_call_fsdbEvent_add_relation;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation */
-
-/* PLI routine: $fsdbTrans_get_error_code:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code
-#define __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code
-extern void novas_call_fsdbEvent_get_error_code(int data, int reason);
-#pragma weak novas_call_fsdbEvent_get_error_code
-void novas_call_fsdbEvent_get_error_code(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_get_error_code");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_get_error_code");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_get_error_code");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_get_error_code)(int data, int reason) = novas_call_fsdbEvent_get_error_code;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code */
-
-/* PLI routine: $fsdbTrans_add_stream_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute
-extern void novas_call_fsdbTrans_add_stream_attribute(int data, int reason);
-#pragma weak novas_call_fsdbTrans_add_stream_attribute
-void novas_call_fsdbTrans_add_stream_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_stream_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_stream_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_stream_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_stream_attribute)(int data, int reason) = novas_call_fsdbTrans_add_stream_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute */
-
-/* PLI routine: $fsdbTrans_add_scope_attribute:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute
-#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute
-extern void novas_call_fsdbTrans_add_scope_attribute(int data, int reason);
-#pragma weak novas_call_fsdbTrans_add_scope_attribute
-void novas_call_fsdbTrans_add_scope_attribute(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_scope_attribute");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_scope_attribute");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_scope_attribute");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_scope_attribute)(int data, int reason) = novas_call_fsdbTrans_add_scope_attribute;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute */
-
-/* PLI routine: $sps_interactive:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_interactive
-#define __VCS_PLI_STUB_novas_call_sps_interactive
-extern void novas_call_sps_interactive(int data, int reason);
-#pragma weak novas_call_sps_interactive
-void novas_call_sps_interactive(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_interactive");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_interactive");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_interactive");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_interactive)(int data, int reason) = novas_call_sps_interactive;
-#endif /* __VCS_PLI_STUB_novas_call_sps_interactive */
-
-/* PLI routine: $sps_test:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_test
-#define __VCS_PLI_STUB_novas_call_sps_test
-extern void novas_call_sps_test(int data, int reason);
-#pragma weak novas_call_sps_test
-void novas_call_sps_test(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_test");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_test");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_test");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_test)(int data, int reason) = novas_call_sps_test;
-#endif /* __VCS_PLI_STUB_novas_call_sps_test */
-
-/* PLI routine: $fsdbDumpClassObject:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObject
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObject
-extern void novas_call_fsdbDumpClassObject(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassObject
-void novas_call_fsdbDumpClassObject(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObject");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObject");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObject");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObject)(int data, int reason) = novas_call_fsdbDumpClassObject;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObject */
-
-/* PLI routine: $fsdbDumpClassObjectByFile:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile
-#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile
-extern void novas_call_fsdbDumpClassObjectByFile(int data, int reason);
-#pragma weak novas_call_fsdbDumpClassObjectByFile
-void novas_call_fsdbDumpClassObjectByFile(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObjectByFile");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObjectByFile");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObjectByFile");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObjectByFile)(int data, int reason) = novas_call_fsdbDumpClassObjectByFile;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile */
-
-/* PLI routine: $ridbDump:call */
-#ifndef __VCS_PLI_STUB_novas_call_ridbDump
-#define __VCS_PLI_STUB_novas_call_ridbDump
-extern void novas_call_ridbDump(int data, int reason);
-#pragma weak novas_call_ridbDump
-void novas_call_ridbDump(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_ridbDump");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_ridbDump");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_ridbDump");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_ridbDump)(int data, int reason) = novas_call_ridbDump;
-#endif /* __VCS_PLI_STUB_novas_call_ridbDump */
-
-/* PLI routine: $sps_flush_file:call */
-#ifndef __VCS_PLI_STUB_novas_call_sps_flush_file
-#define __VCS_PLI_STUB_novas_call_sps_flush_file
-extern void novas_call_sps_flush_file(int data, int reason);
-#pragma weak novas_call_sps_flush_file
-void novas_call_sps_flush_file(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_flush_file");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_flush_file");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_flush_file");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_sps_flush_file)(int data, int reason) = novas_call_sps_flush_file;
-#endif /* __VCS_PLI_STUB_novas_call_sps_flush_file */
-
-/* PLI routine: $fsdbDumpSingle:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpSingle
-#define __VCS_PLI_STUB_novas_call_fsdbDumpSingle
-extern void novas_call_fsdbDumpSingle(int data, int reason);
-#pragma weak novas_call_fsdbDumpSingle
-void novas_call_fsdbDumpSingle(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpSingle");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpSingle");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpSingle");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpSingle)(int data, int reason) = novas_call_fsdbDumpSingle;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpSingle */
-
-/* PLI routine: $fsdbDumpIO:call */
-#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpIO
-#define __VCS_PLI_STUB_novas_call_fsdbDumpIO
-extern void novas_call_fsdbDumpIO(int data, int reason);
-#pragma weak novas_call_fsdbDumpIO
-void novas_call_fsdbDumpIO(int data, int reason)
-{
- static int _vcs_pli_stub_initialized_ = 0;
- static void (*_vcs_pli_fp_)(int data, int reason) = NULL;
- if (!_vcs_pli_stub_initialized_) {
- _vcs_pli_stub_initialized_ = 1;
- _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpIO");
- if (_vcs_pli_fp_ == NULL) {
- _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpIO");
- }
- }
- if (_vcs_pli_fp_) {
- _vcs_pli_fp_(data, reason);
- } else {
- vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpIO");
- }
-}
-void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpIO)(int data, int reason) = novas_call_fsdbDumpIO;
-#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpIO */
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.o b/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.o
deleted file mode 100644
index 7927935..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/_vcs_pli_stub_.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a
deleted file mode 100644
index a2ae8df..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a.info b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a.info
deleted file mode 100644
index 3f647be..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117681_archive_1.a.info
+++ /dev/null
@@ -1,27 +0,0 @@
-reYIK_d.o
-yuek5_d.o
-T59nH_d.o
-CjC7H_d.o
-ZJgwY_d.o
-c06YI_d.o
-D5nSS_d.o
-iiu4n_d.o
-ty6HF_d.o
-N9yP9_d.o
-P2v7r_d.o
-GKZvJ_d.o
-Uye5v_d.o
-pyfvI_d.o
-dHTCN_d.o
-QHiet_d.o
-Wnd0S_d.o
-GAFTT_d.o
-qCch4_d.o
-QH5mS_d.o
-dAYpP_d.o
-sF7c0_d.o
-MhyM4_d.o
-nMT3S_d.o
-BM4bj_d.o
-UTi0b_d.o
-amcQwB.o
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a
deleted file mode 100644
index c70a50f..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a.info b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a.info
deleted file mode 100644
index 35230dc..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117699_archive_1.a.info
+++ /dev/null
@@ -1 +0,0 @@
-sH4Fc_d.o
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a
deleted file mode 100644
index f681e04..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a.info b/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a.info
deleted file mode 100644
index c303931..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/archive.0/_117700_archive_1.a.info
+++ /dev/null
@@ -1 +0,0 @@
-gzftm_d.o
diff --git a/DA4008_V1.2/sim/lvds/csrc/cgincr.sdb b/DA4008_V1.2/sim/lvds/csrc/cgincr.sdb
deleted file mode 100644
index 6528b6f..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/cgincr.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/cginfo.json b/DA4008_V1.2/sim/lvds/csrc/cginfo.json
deleted file mode 100644
index af9de81..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/cginfo.json
+++ /dev/null
@@ -1,556 +0,0 @@
-{
- "cpu_cycles_pass2_start": 69866749842684236,
- "cycles_program_begin": 69866748415532774,
- "MlibObjs": {},
- "CompileProcesses": [
- "cgproc.117681.json",
- "cgproc.117699.json",
- "cgproc.117700.json"
- ],
- "NameTable": {
- "sirv_gnrl_dffr_0004": [
- "sirv_gnrl_dffr_0004",
- "dAYpP",
- "module",
- 18
- ],
- "sirv_gnrl_dfflr_0002": [
- "sirv_gnrl_dfflr_0002",
- "D5nSS",
- "module",
- 5
- ],
- "sirv_gnrl_dffr_0002": [
- "sirv_gnrl_dffr_0002",
- "qCch4",
- "module",
- 16
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 1
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 28
- ],
- "sirv_gnrl_dfflr_0005": [
- "sirv_gnrl_dfflr_0005",
- "N9yP9",
- "module",
- 8
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 12
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 29
- ],
- "sirv_gnrl_edffr_0000": [
- "sirv_gnrl_edffr_0000",
- "pyfvI",
- "module",
- 23
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 22
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 2
- ],
- "sirv_gnrl_edffr_0001": [
- "sirv_gnrl_edffr_0001",
- "dHTCN",
- "module",
- 24
- ],
- "sirv_gnrl_dffr_0005": [
- "sirv_gnrl_dffr_0005",
- "sF7c0",
- "module",
- 19
- ],
- "sirv_gnrl_dfflr_0004": [
- "sirv_gnrl_dfflr_0004",
- "ty6HF",
- "module",
- 7
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 26
- ],
- "sirv_gnrl_dfflrs": [
- "sirv_gnrl_dfflrs",
- "ZJgwY",
- "module",
- 3
- ],
- "sirv_gnrl_dfflr_0001": [
- "sirv_gnrl_dfflr_0001",
- "c06YI",
- "module",
- 4
- ],
- "sirv_gnrl_dffr_0000": [
- "sirv_gnrl_dffr_0000",
- "GAFTT",
- "module",
- 15
- ],
- "sirv_gnrl_dfflr_0003": [
- "sirv_gnrl_dfflr_0003",
- "iiu4n",
- "module",
- 6
- ],
- "sirv_gnrl_dfflr_0006": [
- "sirv_gnrl_dfflr_0006",
- "P2v7r",
- "module",
- 9
- ],
- "sirv_gnrl_dffrs": [
- "sirv_gnrl_dffrs",
- "QHiet",
- "module",
- 13
- ],
- "sirv_gnrl_dfflrd": [
- "sirv_gnrl_dfflrd",
- "Uye5v",
- "module",
- 11
- ],
- "sirv_gnrl_dfflr_0007": [
- "sirv_gnrl_dfflr_0007",
- "GKZvJ",
- "module",
- 10
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 25
- ],
- "sirv_gnrl_dffr": [
- "sirv_gnrl_dffr",
- "Wnd0S",
- "module",
- 14
- ],
- "sirv_gnrl_dffr_0003": [
- "sirv_gnrl_dffr_0003",
- "QH5mS",
- "module",
- 17
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 27
- ],
- "sirv_gnrl_dffr_0006": [
- "sirv_gnrl_dffr_0006",
- "MhyM4",
- "module",
- 20
- ],
- "sirv_gnrl_dffr_0007": [
- "sirv_gnrl_dffr_0007",
- "nMT3S",
- "module",
- 21
- ]
- },
- "perf": [
- {
- "stat": [
- "main",
- "entry",
- 0.023658037185668945,
- 0.038018000000000003,
- 0.032015000000000002,
- 219324,
- 219324,
- 0.0,
- 0.0,
- 1773396446.383199,
- 69866748415771940
- ],
- "sub": [
- {
- "stat": [
- "doParsingAndDesignResolution",
- "entry",
- 0.15842413902282715,
- 0.044298999999999998,
- 0.045305999999999999,
- 279472,
- 280272,
- 0.0,
- 0.0,
- 1773396446.5179651,
- 69866748766135230
- ],
- "sub": []
- },
- {
- "stat": [
- "doParsingAndDesignResolution",
- "exit",
- 0.18488907814025879,
- 0.066614000000000007,
- 0.049456,
- 281104,
- 281752,
- 0.0,
- 0.0,
- 1773396446.54443,
- 69866748834940486
- ],
- "sub": []
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "entry",
- 0.19601011276245117,
- 0.067882999999999999,
- 0.049646000000000003,
- 281272,
- 281752,
- 0.002147,
- 0.0075160000000000001,
- 1773396446.5555511,
- 69866748863868636
- ],
- "sub": [
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "entry",
- 0.21531105041503906,
- 0.087165999999999993,
- 0.049664,
- 286368,
- 286372,
- 0.002147,
- 0.0075160000000000001,
- 1773396446.574852,
- 69866748914066810
- ],
- "sub": []
- },
- {
- "stat": [
- "doUptoVir2VcsNoSepCleanup",
- "exit",
- 0.49645495414733887,
- 0.27999299999999999,
- 0.075537000000000007,
- 300044,
- 300056,
- 0.010426,
- 0.060422999999999998,
- 1773396446.8559959,
- 69866749645047118
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "entry",
- 0.49655294418334961,
- 0.28006999999999999,
- 0.075558,
- 300044,
- 300056,
- 0.010426,
- 0.060422999999999998,
- 1773396446.8560939,
- 69866749645240990
- ],
- "sub": []
- },
- {
- "stat": [
- "doRadify_vir2vcsAll",
- "exit",
- 0.51169896125793457,
- 0.29117900000000002,
- 0.079594999999999999,
- 300044,
- 300056,
- 0.010426,
- 0.060422999999999998,
- 1773396446.8712399,
- 69866749684650114
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doPostDesignResolutionToVir2Vcs",
- "exit",
- 0.51173901557922363,
- 0.291211,
- 0.079603999999999994,
- 300044,
- 300056,
- 0.010426,
- 0.060422999999999998,
- 1773396446.87128,
- 69866749684700888
- ],
- "sub": []
- },
- {
- "stat": [
- "doGAToPass2",
- "entry",
- 0.51175713539123535,
- 0.29122500000000001,
- 0.079607999999999998,
- 300044,
- 300056,
- 0.010426,
- 0.060422999999999998,
- 1773396446.8712981,
- 69866749684740362
- ],
- "sub": [
- {
- "stat": [
- "DoPass2",
- "entry",
- 0.57240009307861328,
- 0.29496299999999998,
- 0.082548999999999997,
- 298488,
- 300056,
- 0.029249000000000001,
- 0.097144999999999995,
- 1773396446.931941,
- 69866749842643780
- ],
- "sub": []
- },
- {
- "stat": [
- "DoPass2",
- "exit",
- 0.8236701488494873,
- 0.41439900000000002,
- 0.119266,
- 300460,
- 300492,
- 0.25763599999999998,
- 0.144011,
- 1773396447.1832111,
- 69866750495771950
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "doGAToPass2",
- "exit",
- 0.82722902297973633,
- 0.41784100000000002,
- 0.119383,
- 300460,
- 300492,
- 0.25763599999999998,
- 0.144011,
- 1773396447.18677,
- 69866750505016188
- ],
- "sub": []
- }
- ]
- },
- {
- "stat": [
- "main",
- "exit",
- 0.82792901992797852,
- 0.41852200000000001,
- 0.119403,
- 300452,
- 300492,
- 0.25763599999999998,
- 0.144011,
- 1773396447.18747,
- 69866750506806932
- ],
- "sub": []
- }
- ],
- "PrevCompiledModules": {},
- "CompileStatus": "Successful",
- "CompileStrategy": "fullobj",
- "stat": {
- "ru_self_cgstart": {
- "ru_utime_sec": 0.295101,
- "ru_stime_sec": 0.082587999999999995,
- "ru_nivcsw": 3,
- "ru_maxrss_kb": 83796,
- "ru_minflt": 33953,
- "ru_majflt": 0,
- "ru_nvcsw": 57
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.25763599999999998,
- "ru_stime_sec": 0.144011,
- "ru_nivcsw": 26,
- "ru_maxrss_kb": 46976,
- "ru_minflt": 24939,
- "ru_majflt": 0,
- "ru_nvcsw": 73
- },
- "totalObjSize": 475176,
- "nQuads": 3460,
- "mopSpeed": 20473.237579360801,
- "ru_childs_cgstart": {
- "ru_utime_sec": 0.029249000000000001,
- "ru_stime_sec": 0.097144999999999995,
- "ru_nivcsw": 26,
- "ru_maxrss_kb": 25876,
- "ru_minflt": 11827,
- "ru_majflt": 0,
- "ru_nvcsw": 27
- },
- "cpu_cycles_cgstart": 69866749842895848,
- "outputSizePerQuad": 137.33410404624277,
- "nMops": 7204,
- "ru_self_end": {
- "ru_utime_sec": 0.41858800000000002,
- "ru_stime_sec": 0.119403,
- "ru_nivcsw": 5,
- "ru_maxrss_kb": 93340,
- "ru_minflt": 39270,
- "ru_majflt": 0,
- "ru_nvcsw": 81
- },
- "realTime": 0.82802009582519531,
- "cpu_cycles_end": 69866750506945162,
- "cpu_cycles_total": 2091412388,
- "quadSpeed": 9833.0652449456356,
- "mop/quad": 2.0820809248554912,
- "peak_mem_kb": 300492,
- "Frontend(%)": 47.964875544198378,
- "CodeGen(%)": 52.035124455801615
- },
- "SIMBData": {
- "out": "amcQwB.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 133212,
- "text": 0
- },
- "CurCompileUdps": {},
- "incremental": "on",
- "CurCompileModules": [
- "...MASTER...",
- "...MASTER...",
- "std",
- "std",
- "ulink_descrambler_32",
- "ulink_descrambler_32",
- "crc32",
- "crc32",
- "sirv_gnrl_xchecker",
- "sirv_gnrl_xchecker",
- "sirv_gnrl_dfflrs",
- "sirv_gnrl_dfflrs",
- "sirv_gnrl_dfflr_0001",
- "sirv_gnrl_dfflr_0001",
- "sirv_gnrl_dfflr_0002",
- "sirv_gnrl_dfflr_0002",
- "sirv_gnrl_dfflr_0003",
- "sirv_gnrl_dfflr_0003",
- "sirv_gnrl_dfflr_0004",
- "sirv_gnrl_dfflr_0004",
- "sirv_gnrl_dfflr_0005",
- "sirv_gnrl_dfflr_0005",
- "sirv_gnrl_dfflr_0006",
- "sirv_gnrl_dfflr_0006",
- "sirv_gnrl_dfflr_0007",
- "sirv_gnrl_dfflr_0007",
- "sirv_gnrl_dfflrd",
- "sirv_gnrl_dfflrd",
- "sirv_gnrl_edffr_0000",
- "sirv_gnrl_edffr_0000",
- "sirv_gnrl_edffr_0001",
- "sirv_gnrl_edffr_0001",
- "sirv_gnrl_dffrs",
- "sirv_gnrl_dffrs",
- "sirv_gnrl_dffr",
- "sirv_gnrl_dffr",
- "sirv_gnrl_dffr_0000",
- "sirv_gnrl_dffr_0000",
- "sirv_gnrl_dffr_0002",
- "sirv_gnrl_dffr_0002",
- "sirv_gnrl_dffr_0003",
- "sirv_gnrl_dffr_0003",
- "sirv_gnrl_dffr_0004",
- "sirv_gnrl_dffr_0004",
- "sirv_gnrl_dffr_0005",
- "sirv_gnrl_dffr_0005",
- "sirv_gnrl_dffr_0006",
- "sirv_gnrl_dffr_0006",
- "sirv_gnrl_dffr_0007",
- "sirv_gnrl_dffr_0007",
- "sirv_gnrl_dffl",
- "sirv_gnrl_dffl",
- "sirv_gnrl_ltch",
- "sirv_gnrl_ltch"
- ],
- "PEModules": [],
- "LVLData": [
- "SIM"
- ],
- "Misc": {
- "cwd": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds",
- "daidir": "simv.daidir",
- "vcs_version": "O-2018.09-SP2_Full64",
- "master_pid": 117681,
- "VCS_HOME": "/opt/synopsys/vcs-mx/O-2018.09-SP2",
- "vcs_build_date": "Build Date = Feb 28 2019 22:34:30",
- "hostname": "cryo1",
- "csrc": "csrc",
- "csrc_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/csrc",
- "archive_dir": "archive.0",
- "daidir_abs": "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir",
- "default_output_dir": "csrc"
- },
- "rlimit": {
- "data": -1,
- "stack": -1
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/cgproc.117681.json b/DA4008_V1.2/sim/lvds/csrc/cgproc.117681.json
deleted file mode 100644
index 482f9e4..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/cgproc.117681.json
+++ /dev/null
@@ -1,1162 +0,0 @@
-{
- "CompUnits": {
- "D5nSS_d": {
- "mod": "sirv_gnrl_dfflr_0002",
- "mode": 4,
- "out": "D5nSS_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11250,
- "text": 1831,
- "checksum": 0
- },
- "amcQw_d": {
- "mod": "...MASTER...",
- "mode": 4,
- "out": "objs/amcQw_d.o",
- "bytes": 9814,
- "text": 817,
- "checksum": 0
- },
- "GKZvJ_d": {
- "mod": "sirv_gnrl_dfflr_0007",
- "mode": 4,
- "out": "GKZvJ_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11292,
- "text": 1875,
- "checksum": 0
- },
- "UTi0b_d": {
- "mod": "sirv_gnrl_ltch",
- "mode": 4,
- "out": "UTi0b_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 9732,
- "text": 1063,
- "checksum": 0
- },
- "c06YI_d": {
- "mod": "sirv_gnrl_dfflr_0001",
- "mode": 4,
- "out": "c06YI_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11468,
- "text": 1815,
- "checksum": 0
- },
- "Uye5v_d": {
- "mod": "sirv_gnrl_dfflrd",
- "mode": 4,
- "out": "Uye5v_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11334,
- "text": 1919,
- "checksum": 0
- },
- "reYIK_d": {
- "mod": "std",
- "mode": 4,
- "out": "reYIK_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 35948,
- "text": 4827,
- "cls": 4461,
- "checksum": 0
- },
- "P2v7r_d": {
- "mod": "sirv_gnrl_dfflr_0006",
- "mode": 4,
- "out": "P2v7r_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11560,
- "text": 1967,
- "checksum": 0
- },
- "yuek5_d": {
- "mod": "ulink_descrambler_32",
- "mode": 4,
- "out": "yuek5_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 19074,
- "text": 6266,
- "checksum": 0
- },
- "ty6HF_d": {
- "mod": "sirv_gnrl_dfflr_0004",
- "mode": 4,
- "out": "ty6HF_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11330,
- "text": 1911,
- "checksum": 0
- },
- "sF7c0_d": {
- "mod": "sirv_gnrl_dffr_0005",
- "mode": 4,
- "out": "sF7c0_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11120,
- "text": 1735,
- "checksum": 0
- },
- "T59nH_d": {
- "mod": "crc32",
- "mode": 4,
- "out": "T59nH_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 13912,
- "text": 3200,
- "checksum": 0
- },
- "CjC7H_d": {
- "mod": "sirv_gnrl_xchecker",
- "mode": 4,
- "out": "CjC7H_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 16008,
- "text": 1946,
- "checksum": 0
- },
- "ZJgwY_d": {
- "mod": "sirv_gnrl_dfflrs",
- "mode": 4,
- "out": "ZJgwY_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11190,
- "text": 1815,
- "checksum": 0
- },
- "QHiet_d": {
- "mod": "sirv_gnrl_dffrs",
- "mode": 4,
- "out": "QHiet_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 10984,
- "text": 1675,
- "checksum": 0
- },
- "iiu4n_d": {
- "mod": "sirv_gnrl_dfflr_0003",
- "mode": 4,
- "out": "iiu4n_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11330,
- "text": 1911,
- "checksum": 0
- },
- "Wnd0S_d": {
- "mod": "sirv_gnrl_dffr",
- "mode": 4,
- "out": "Wnd0S_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11136,
- "text": 1771,
- "checksum": 0
- },
- "dHTCN_d": {
- "mod": "sirv_gnrl_edffr_0001",
- "mode": 4,
- "out": "dHTCN_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 12502,
- "text": 2095,
- "checksum": 0
- },
- "N9yP9_d": {
- "mod": "sirv_gnrl_dfflr_0005",
- "mode": 4,
- "out": "N9yP9_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11468,
- "text": 1815,
- "checksum": 0
- },
- "pyfvI_d": {
- "mod": "sirv_gnrl_edffr_0000",
- "mode": 4,
- "out": "pyfvI_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 12572,
- "text": 2095,
- "checksum": 0
- },
- "dAYpP_d": {
- "mod": "sirv_gnrl_dffr_0004",
- "mode": 4,
- "out": "dAYpP_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11292,
- "text": 1671,
- "checksum": 0
- },
- "GAFTT_d": {
- "mod": "sirv_gnrl_dffr_0000",
- "mode": 4,
- "out": "GAFTT_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 10894,
- "text": 1519,
- "checksum": 0
- },
- "qCch4_d": {
- "mod": "sirv_gnrl_dffr_0002",
- "mode": 4,
- "out": "qCch4_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11076,
- "text": 1691,
- "checksum": 0
- },
- "QH5mS_d": {
- "mod": "sirv_gnrl_dffr_0003",
- "mode": 4,
- "out": "QH5mS_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11120,
- "text": 1735,
- "checksum": 0
- },
- "MhyM4_d": {
- "mod": "sirv_gnrl_dffr_0006",
- "mode": 4,
- "out": "MhyM4_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11156,
- "text": 1771,
- "checksum": 0
- },
- "nMT3S_d": {
- "mod": "sirv_gnrl_dffr_0007",
- "mode": 4,
- "out": "nMT3S_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 11156,
- "text": 1771,
- "checksum": 0
- },
- "BM4bj_d": {
- "mod": "sirv_gnrl_dffl",
- "mode": 4,
- "out": "BM4bj_d.o",
- "archive": "archive.0/_117681_archive_1.a",
- "bytes": 10246,
- "text": 1263,
- "checksum": 0
- }
- },
- "Modules": {
- "sirv_gnrl_dffr_0005": {
- "start_perf": [
- 0.69780516624450684,
- 0.39245400000000003,
- 0.10968600000000001,
- 300468,
- 300492,
- 1773396447.0573461,
- 69866750168473362
- ],
- "child_modules": {},
- "nMops": 221,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.7014319896697998,
- 0.39516200000000001,
- 0.11060499999999999,
- 300468,
- 300492,
- 69866750177942438,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- },
- "sirv_gnrl_dfflr_0004": {
- "start_perf": [
- 0.64918398857116699,
- 0.35172999999999999,
- 0.10179000000000001,
- 300468,
- 300492,
- 1773396447.0087249,
- 69866750042057892
- ],
- "child_modules": {},
- "nMops": 263,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.65295004844665527,
- 0.35549500000000001,
- 0.10179000000000001,
- 300468,
- 300492,
- 69866750051895300,
- 21474836481,
- 0
- ],
- "nQuads": 120,
- "nRouts": 26
- },
- "sirv_gnrl_edffr_0001": {
- "start_perf": [
- 0.67234706878662109,
- 0.37082399999999999,
- 0.10585799999999999,
- 300468,
- 300492,
- 1773396447.031888,
- 69866750102282140
- ],
- "child_modules": {},
- "nMops": 260,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.67643499374389648,
- 0.37314999999999998,
- 0.10761999999999999,
- 300468,
- 300492,
- 69866750112955298,
- 47244640257,
- 0
- ],
- "nQuads": 121,
- "nRouts": 29
- },
- "sirv_gnrl_ltch": {
- "start_perf": [
- 0.71201300621032715,
- 0.403617,
- 0.112731,
- 300468,
- 300492,
- 1773396447.0715539,
- 69866750205412418
- ],
- "child_modules": {},
- "nMops": 124,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.71474194526672363,
- 0.40540300000000001,
- 0.113674,
- 300468,
- 300492,
- 69866750212550570,
- 42949672961,
- 0
- ],
- "nQuads": 62,
- "nRouts": 15
- },
- "sirv_gnrl_xchecker": {
- "start_perf": [
- 0.62863016128540039,
- 0.33731,
- 0.095655000000000004,
- 300468,
- 300492,
- 1773396446.9881711,
- 69866749988615972
- ],
- "child_modules": {},
- "nMops": 218,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.63387203216552734,
- 0.33948499999999998,
- 0.098722000000000004,
- 300468,
- 300492,
- 69866750002289114,
- 12884901889,
- 0
- ],
- "nQuads": 167,
- "nRouts": 29
- },
- "...MASTER...": {
- "start_perf": [
- 0.57369208335876465,
- 0.295186,
- 0.083618999999999999,
- 298488,
- 300056,
- 1773396446.933233,
- 69866749845899700
- ],
- "child_modules": {
- "sirv_gnrl_dfflrd": 1,
- "sirv_gnrl_dffrs": 1,
- "sirv_gnrl_dfflrs": 1,
- "sirv_gnrl_dffl": 1,
- "sirv_gnrl_ltch": 1,
- "TB": 1,
- "sirv_gnrl_xchecker": 1,
- "std": 1
- },
- "end_perf": [
- 0.57861804962158203,
- 0.29710700000000001,
- 0.086613999999999997,
- 299480,
- 300056,
- 69866749858617020,
- 0,
- 0
- ],
- "nQuads": 10,
- "nMops": 19,
- "nRouts": 14
- },
- "sirv_gnrl_edffr_0000": {
- "start_perf": [
- 0.66819596290588379,
- 0.36674099999999998,
- 0.10579,
- 300468,
- 300492,
- 1773396447.0277369,
- 69866750091488938
- ],
- "child_modules": {},
- "nMops": 260,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.67229413986206055,
- 0.37082399999999999,
- 0.105805,
- 300468,
- 300492,
- 69866750102219052,
- 47244640257,
- 0
- ],
- "nQuads": 121,
- "nRouts": 29
- },
- "sirv_gnrl_dffr_0004": {
- "start_perf": [
- 0.69428610801696777,
- 0.38983200000000001,
- 0.10879,
- 300468,
- 300492,
- 1773396447.053827,
- 69866750159323754
- ],
- "child_modules": {},
- "nMops": 182,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.69776511192321777,
- 0.39242300000000002,
- 0.109677,
- 300468,
- 300492,
- 69866750168413240,
- 38654705665,
- 0
- ],
- "nQuads": 98,
- "nRouts": 24
- },
- "sirv_gnrl_dfflr_0002": {
- "start_perf": [
- 0.64159417152404785,
- 0.34622399999999998,
- 0.099704000000000001,
- 300468,
- 300492,
- 1773396447.0011351,
- 69866750022320424
- ],
- "child_modules": {},
- "nMops": 248,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.64531207084655762,
- 0.34983799999999998,
- 0.099808999999999995,
- 300468,
- 300492,
- 69866750032081476,
- 21474836481,
- 0
- ],
- "nQuads": 120,
- "nRouts": 26
- },
- "std": {
- "start_perf": [
- 0.5804600715637207,
- 0.29710700000000001,
- 0.088455000000000006,
- 299464,
- 300056,
- 1773396446.940001,
- 69866749863563350
- ],
- "child_modules": {},
- "nMops": 477,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "svclass": [
- "$vcs_nba_dyn_obj",
- 385,
- 37,
- 2,
- 2,
- 0,
- "sigprop$$",
- 385,
- 37,
- 2,
- 2,
- 0,
- "process",
- 1645,
- 184,
- 8,
- 8,
- 0,
- "event",
- 462,
- 36,
- 2,
- 2,
- 0,
- "mailbox",
- 912,
- 107,
- 9,
- 9,
- 0,
- "semaphore",
- 672,
- 71,
- 5,
- 5,
- 0
- ],
- "end_perf": [
- 0.5942080020904541,
- 0.303699,
- 0.094842999999999997,
- 300464,
- 300464,
- 69866749899365300,
- 8589934594,
- 0
- ],
- "nQuads": 224,
- "nRouts": 36
- },
- "sirv_gnrl_dfflrs": {
- "start_perf": [
- 0.6339111328125,
- 0.33951500000000001,
- 0.098730999999999999,
- 300468,
- 300492,
- 1773396446.9934521,
- 69866750002353568
- ],
- "child_modules": {},
- "nMops": 234,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.63775110244750977,
- 0.34239000000000003,
- 0.099695000000000006,
- 300468,
- 300492,
- 69866750012371602,
- 17179869185,
- 0
- ],
- "nQuads": 124,
- "nRouts": 28
- },
- "ulink_descrambler_32": {
- "start_perf": [
- 0.59439706802368164,
- 0.30388900000000002,
- 0.094842999999999997,
- 300464,
- 300464,
- 1773396446.953938,
- 69866749899702668
- ],
- "child_modules": {},
- "nMops": 1075,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.62251615524291992,
- 0.33121299999999998,
- 0.095639000000000002,
- 300468,
- 300492,
- 69866749972773094,
- 68719476737,
- 0
- ],
- "nQuads": 426,
- "nRouts": 59
- },
- "sirv_gnrl_dffr_0006": {
- "start_perf": [
- 0.70147109031677246,
- 0.39519300000000002,
- 0.110613,
- 300468,
- 300492,
- 1773396447.061012,
- 69866750178002896
- ],
- "child_modules": {},
- "nMops": 221,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.70503997802734375,
- 0.39763500000000002,
- 0.11174000000000001,
- 300468,
- 300492,
- 69866750187324476,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- },
- "crc32": {
- "start_perf": [
- 0.62256503105163574,
- 0.33124999999999999,
- 0.095648999999999998,
- 300468,
- 300492,
- 1773396446.982106,
- 69866749972852696
- ],
- "child_modules": {},
- "nMops": 512,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.62859010696411133,
- 0.33727499999999999,
- 0.095648999999999998,
- 300468,
- 300492,
- 69866749988553560,
- 77309411329,
- 0
- ],
- "nQuads": 237,
- "nRouts": 34
- },
- "sirv_gnrl_dfflr_0001": {
- "start_perf": [
- 0.63778996467590332,
- 0.34242099999999998,
- 0.099704000000000001,
- 300468,
- 300492,
- 1773396446.9973309,
- 69866750012431680
- ],
- "child_modules": {},
- "nMops": 224,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.64155411720275879,
- 0.34618399999999999,
- 0.099704000000000001,
- 300468,
- 300492,
- 69866750022261280,
- 21474836481,
- 0
- ],
- "nQuads": 116,
- "nRouts": 25
- },
- "sirv_gnrl_dfflr_0003": {
- "start_perf": [
- 0.6453700065612793,
- 0.34983799999999998,
- 0.099866999999999997,
- 300468,
- 300492,
- 1773396447.0049109,
- 69866750032139872
- ],
- "child_modules": {},
- "nMops": 263,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.64914512634277344,
- 0.35169899999999998,
- 0.101781,
- 300468,
- 300492,
- 69866750041998554,
- 21474836481,
- 0
- ],
- "nQuads": 120,
- "nRouts": 26
- },
- "sirv_gnrl_dffl": {
- "start_perf": [
- 0.70872306823730469,
- 0.40038699999999999,
- 0.11267099999999999,
- 300468,
- 300492,
- 1773396447.068264,
- 69866750196862438
- ],
- "child_modules": {},
- "nMops": 151,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.71197295188903809,
- 0.403586,
- 0.112722,
- 300468,
- 300492,
- 69866750205354112,
- 30064771073,
- 0
- ],
- "nQuads": 86,
- "nRouts": 23
- },
- "sirv_gnrl_dfflr_0005": {
- "start_perf": [
- 0.65299010276794434,
- 0.35553499999999999,
- 0.10179000000000001,
- 300468,
- 300492,
- 1773396447.012531,
- 69866750051952320
- ],
- "child_modules": {},
- "nMops": 224,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.65670609474182129,
- 0.35836400000000002,
- 0.102677,
- 300468,
- 300492,
- 69866750061658674,
- 21474836481,
- 0
- ],
- "nQuads": 116,
- "nRouts": 25
- },
- "sirv_gnrl_dfflrd": {
- "start_perf": [
- 0.66435909271240234,
- 0.36483700000000002,
- 0.103857,
- 300468,
- 300492,
- 1773396447.0239,
- 69866750081512308
- ],
- "child_modules": {},
- "nMops": 254,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.66815614700317383,
- 0.36670900000000001,
- 0.105781,
- 300468,
- 300492,
- 69866750091426412,
- 25769803777,
- 0
- ],
- "nQuads": 131,
- "nRouts": 29
- },
- "sirv_gnrl_dffrs": {
- "start_perf": [
- 0.67647504806518555,
- 0.37318200000000001,
- 0.107629,
- 300468,
- 300492,
- 1773396447.036016,
- 69866750113013314
- ],
- "child_modules": {},
- "nMops": 192,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.67998695373535156,
- 0.37557600000000002,
- 0.108746,
- 300468,
- 300492,
- 69866750122191124,
- 34359738369,
- 0
- ],
- "nQuads": 106,
- "nRouts": 27
- },
- "sirv_gnrl_dfflr_0006": {
- "start_perf": [
- 0.65674710273742676,
- 0.35839599999999999,
- 0.102686,
- 300468,
- 300492,
- 1773396447.016288,
- 69866750061724640
- ],
- "child_modules": {},
- "nMops": 271,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.66054010391235352,
- 0.361234,
- 0.103641,
- 300468,
- 300492,
- 69866750071623270,
- 21474836481,
- 0
- ],
- "nQuads": 120,
- "nRouts": 26
- },
- "sirv_gnrl_dfflr_0007": {
- "start_perf": [
- 0.66057896614074707,
- 0.36126399999999997,
- 0.10364900000000001,
- 300468,
- 300492,
- 1773396447.0201199,
- 69866750071681736
- ],
- "child_modules": {},
- "nMops": 263,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.66430902481079102,
- 0.36483700000000002,
- 0.103807,
- 300468,
- 300492,
- 69866750081454524,
- 21474836481,
- 0
- ],
- "nQuads": 120,
- "nRouts": 26
- },
- "sirv_gnrl_dffr": {
- "start_perf": [
- 0.68002796173095703,
- 0.375608,
- 0.108755,
- 300468,
- 300492,
- 1773396447.0395689,
- 69866750122251108
- ],
- "child_modules": {},
- "nMops": 221,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.6836240291595459,
- 0.37920399999999999,
- 0.108755,
- 300468,
- 300492,
- 69866750131647212,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- },
- "sirv_gnrl_dffr_0000": {
- "start_perf": [
- 0.68366408348083496,
- 0.37924400000000003,
- 0.108755,
- 300468,
- 300492,
- 1773396447.043205,
- 69866750131705954
- ],
- "child_modules": {},
- "nMops": 179,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.68709516525268555,
- 0.38267099999999998,
- 0.10875899999999999,
- 300468,
- 300492,
- 69866750140669386,
- 38654705665,
- 0
- ],
- "nQuads": 103,
- "nRouts": 25
- },
- "sirv_gnrl_dffr_0002": {
- "start_perf": [
- 0.6871340274810791,
- 0.38270199999999999,
- 0.108767,
- 300468,
- 300492,
- 1773396447.046675,
- 69866750140726480
- ],
- "child_modules": {},
- "nMops": 206,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.69066715240478516,
- 0.38623400000000002,
- 0.108767,
- 300468,
- 300492,
- 69866750149954306,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- },
- "sirv_gnrl_dffr_0003": {
- "start_perf": [
- 0.69070601463317871,
- 0.38627400000000001,
- 0.108767,
- 300468,
- 300492,
- 1773396447.050247,
- 69866750150013374
- ],
- "child_modules": {},
- "nMops": 221,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.69423913955688477,
- 0.38979399999999997,
- 0.108779,
- 300468,
- 300492,
- 69866750159261208,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- },
- "sirv_gnrl_dffr_0007": {
- "start_perf": [
- 0.70507907867431641,
- 0.39766600000000002,
- 0.111749,
- 300468,
- 300492,
- 1773396447.06462,
- 69866750187384742
- ],
- "child_modules": {},
- "nMops": 221,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.70868396759033203,
- 0.40035599999999999,
- 0.112663,
- 300468,
- 300492,
- 69866750196798502,
- 38654705665,
- 0
- ],
- "nQuads": 102,
- "nRouts": 25
- }
- },
- "reusePaths": {},
- "ObjArchives": [
- {
- "archive": "archive.0/_117681_archive_1.a",
- "objects": [
- [
- "reYIK_d.o",
- 35948
- ],
- [
- "yuek5_d.o",
- 19074
- ],
- [
- "T59nH_d.o",
- 13912
- ],
- [
- "CjC7H_d.o",
- 16008
- ],
- [
- "ZJgwY_d.o",
- 11190
- ],
- [
- "c06YI_d.o",
- 11468
- ],
- [
- "D5nSS_d.o",
- 11250
- ],
- [
- "iiu4n_d.o",
- 11330
- ],
- [
- "ty6HF_d.o",
- 11330
- ],
- [
- "N9yP9_d.o",
- 11468
- ],
- [
- "P2v7r_d.o",
- 11560
- ],
- [
- "GKZvJ_d.o",
- 11292
- ],
- [
- "Uye5v_d.o",
- 11334
- ],
- [
- "pyfvI_d.o",
- 12572
- ],
- [
- "dHTCN_d.o",
- 12502
- ],
- [
- "QHiet_d.o",
- 10984
- ],
- [
- "Wnd0S_d.o",
- 11136
- ],
- [
- "GAFTT_d.o",
- 10894
- ],
- [
- "qCch4_d.o",
- 11076
- ],
- [
- "QH5mS_d.o",
- 11120
- ],
- [
- "dAYpP_d.o",
- 11292
- ],
- [
- "sF7c0_d.o",
- 11120
- ],
- [
- "MhyM4_d.o",
- 11156
- ],
- [
- "nMT3S_d.o",
- 11156
- ],
- [
- "BM4bj_d.o",
- 10246
- ],
- [
- "UTi0b_d.o",
- 9732
- ],
- [
- "amcQwB.o",
- 133212
- ]
- ],
- "size": 465362
- }
- ],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.41791,
- "ru_stime_sec": 0.119403,
- "ru_nivcsw": 5,
- "ru_maxrss_kb": 93340,
- "ru_minflt": 39264,
- "ru_majflt": 0,
- "ru_nvcsw": 81
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.25763599999999998,
- "ru_stime_sec": 0.144011,
- "ru_nivcsw": 26,
- "ru_maxrss_kb": 46976,
- "ru_minflt": 24939,
- "ru_majflt": 0,
- "ru_nvcsw": 73
- },
- "cpu_cycles_end": 69866750505210626,
- "peak_mem_kb": 300492
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/cgproc.117699.json b/DA4008_V1.2/sim/lvds/csrc/cgproc.117699.json
deleted file mode 100644
index c5b0c94..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/cgproc.117699.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "CompUnits": {
- "sH4Fc_d": {
- "mod": "TB",
- "mode": 4,
- "out": "sH4Fc_d.o",
- "archive": "archive.0/_117699_archive_1.a",
- "bytes": 395482,
- "text": 174313,
- "checksum": 0
- }
- },
- "Modules": {
- "TB": {
- "start_perf": [
- 0.58072113990783691,
- 0.0,
- 0.001054,
- 299464,
- 299464,
- 1773396446.9402621,
- 69866749864493540
- ],
- "child_modules": {
- "ulink_descrambler_32": 4,
- "sirv_gnrl_dfflr_0003": 2,
- "sirv_gnrl_dffr_0000": 12,
- "sirv_gnrl_dffr_0004": 2,
- "sirv_gnrl_dfflr_0002": 17,
- "sirv_gnrl_dffr_0002": 6,
- "sirv_gnrl_dfflr_0001": 1,
- "crc32": 1,
- "sirv_gnrl_dffr_0006": 1,
- "sirv_gnrl_dffr_0003": 2,
- "sirv_gnrl_dfflr_0005": 1,
- "sirv_gnrl_dffr_0007": 2,
- "sirv_gnrl_edffr_0001": 1,
- "sirv_gnrl_dffr_0005": 2,
- "sirv_gnrl_dfflr_0004": 1,
- "sirv_gnrl_dfflr_0006": 1,
- "syn_fwft_fifo": 1,
- "sirv_gnrl_dffr": 2,
- "sirv_gnrl_dfflr_0007": 16,
- "sirv_gnrl_edffr_0000": 1
- },
- "nMops": 33075,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.77995610237121582,
- 0.18724399999999999,
- 0.013017000000000001,
- 300468,
- 300468,
- 69866750382138678,
- 94489280513,
- 0
- ],
- "nQuads": 13103,
- "nRouts": 1307
- }
- },
- "reusePaths": {},
- "ObjArchives": [
- {
- "archive": "archive.0/_117699_archive_1.a",
- "objects": [
- [
- "sH4Fc_d.o",
- 395482
- ]
- ],
- "size": 395482
- }
- ],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.18750500000000001,
- "ru_stime_sec": 0.013035,
- "ru_nivcsw": 0,
- "ru_maxrss_kb": 43280,
- "ru_minflt": 6145,
- "ru_majflt": 0,
- "ru_nvcsw": 1
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_stime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0,
- "ru_majflt": 0,
- "ru_nvcsw": 0
- },
- "cpu_cycles_end": 69866750382764998,
- "peak_mem_kb": 300472
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/cgproc.117700.json b/DA4008_V1.2/sim/lvds/csrc/cgproc.117700.json
deleted file mode 100644
index 8b9870b..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/cgproc.117700.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "CompUnits": {
- "gzftm_d": {
- "mod": "syn_fwft_fifo",
- "mode": 4,
- "out": "gzftm_d.o",
- "archive": "archive.0/_117700_archive_1.a",
- "bytes": 44200,
- "text": 17942,
- "checksum": 0
- }
- },
- "Modules": {
- "syn_fwft_fifo": {
- "start_perf": [
- 0.58111715316772461,
- 0.00076999999999999996,
- 0.0,
- 299464,
- 299464,
- 1773396446.9406581,
- 69866749865512136
- ],
- "child_modules": {},
- "nMops": 3346,
- "Compiled": "Yes",
- "Compiled Times": 1,
- "end_perf": [
- 0.62375402450561523,
- 0.031280000000000002,
- 0.012108000000000001,
- 300468,
- 300468,
- 69866749975982712,
- 60129542145,
- 0
- ],
- "nQuads": 1270,
- "nRouts": 147
- }
- },
- "reusePaths": {},
- "ObjArchives": [
- {
- "archive": "archive.0/_117700_archive_1.a",
- "objects": [
- [
- "gzftm_d.o",
- 44200
- ]
- ],
- "size": 44200
- }
- ],
- "stat": {
- "ru_self_end": {
- "ru_utime_sec": 0.031435999999999999,
- "ru_stime_sec": 0.012168,
- "ru_nivcsw": 0,
- "ru_maxrss_kb": 37596,
- "ru_minflt": 3910,
- "ru_majflt": 0,
- "ru_nvcsw": 1
- },
- "ru_childs_end": {
- "ru_utime_sec": 0.0,
- "ru_stime_sec": 0.0,
- "ru_nivcsw": 0,
- "ru_maxrss_kb": 0,
- "ru_minflt": 0,
- "ru_majflt": 0,
- "ru_nvcsw": 0
- },
- "cpu_cycles_end": 69866749976473230,
- "peak_mem_kb": 300472
- }
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/csrc/checksum b/DA4008_V1.2/sim/lvds/csrc/checksum
deleted file mode 100644
index b27b139..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/checksum and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist b/DA4008_V1.2/sim/lvds/csrc/filelist
deleted file mode 100644
index 01ddcb8..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-AR=ar
-DOTLIBS=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libzerosoft_rt_stubs.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
-
-# This file is automatically generated by VCS. Any changes you make to it
-# will be overwritten the next time VCS is run
-VCS_LIBEXT=
-XTRN_OBJS=
-
-DPI_WRAPPER_OBJS =
-DPI_STUB_OBJS =
-# filelist.dpi will populate DPI_WRAPPER_OBJS and DPI_STUB_OBJS
-include filelist.dpi
-PLI_STUB_OBJS =
-include filelist.pli
-
-include filelist.hsopt
-
-include filelist.cu
-
-VCS_MISC_OBJS=
-VCS_INCR_OBJS=
-
-
-AUGDIR=
-AUG_LDFLAGS=
-SHARED_OBJ_SO=
-
-
-
-VLOG_OBJS= $(VCS_OBJS) $(CU_OBJS) $(VCS_ARC0) $(XTRN_OBJS) $(DPI_WRAPPER_OBJS) $(VCS_INCR_OBJS) $(SHARED_OBJ_SO) $(HSOPT_OBJS)
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.cu b/DA4008_V1.2/sim/lvds/csrc/filelist.cu
deleted file mode 100644
index 95fc3e0..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist.cu
+++ /dev/null
@@ -1,49 +0,0 @@
-PIC_LD=ld
-
-ARCHIVE_OBJS=
-ARCHIVE_OBJS += _117681_archive_1.so
-_117681_archive_1.so : archive.0/_117681_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_117681_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_117681_archive_1.so $@
-
-
-ARCHIVE_OBJS += _117699_archive_1.so
-_117699_archive_1.so : archive.0/_117699_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_117699_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_117699_archive_1.so $@
-
-
-ARCHIVE_OBJS += _117700_archive_1.so
-_117700_archive_1.so : archive.0/_117700_archive_1.a
- @$(AR) -s $<
- @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_117700_archive_1.so --whole-archive $< --no-whole-archive
- @rm -f $@
- @ln -sf .//../simv.daidir//_117700_archive_1.so $@
-
-
-
-
-
-O0_OBJS =
-
-$(O0_OBJS) : %.o: %.c
- $(CC_CG) $(CFLAGS_O0) -c -o $@ $<
-
-
-%.o: %.c
- $(CC_CG) $(CFLAGS_CG) -c -o $@ $<
-CU_UDP_OBJS = \
-
-
-CU_LVL_OBJS = \
-SIM_l.o
-
-MAIN_OBJS = \
-objs/amcQw_d.o
-
-CU_OBJS = $(MAIN_OBJS) $(ARCHIVE_OBJS) $(CU_UDP_OBJS) $(CU_LVL_OBJS)
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.dpi b/DA4008_V1.2/sim/lvds/csrc/filelist.dpi
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt b/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt
deleted file mode 100644
index 468b268..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt
+++ /dev/null
@@ -1,13 +0,0 @@
-rmapats_mop.o: rmapats.m
- @/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/cgmop1 -tls_initexe -pic -gen_obj rmapats.m rmapats_mop.o; rm -f rmapats.m; touch rmapats.m; touch rmapats_mop.o
-
-rmapats.o: rmapats.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmapats.o rmapats.c
-rmapats%.o: rmapats%.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $<
-rmar.o: rmar.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmar.o rmar.c
-rmar%.o: rmar%.c
- @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $<
-
-include filelist.hsopt.objs
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.llvm2_0.objs b/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.llvm2_0.objs
deleted file mode 100644
index 4c31419..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.llvm2_0.objs
+++ /dev/null
@@ -1 +0,0 @@
-LLVM_OBJS += rmar_llvm_0_1.o rmar_llvm_0_0.o
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.objs b/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.objs
deleted file mode 100644
index f40e57c..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist.hsopt.objs
+++ /dev/null
@@ -1,7 +0,0 @@
-HSOPT_OBJS +=rmapats_mop.o \
- rmapats.o \
- rmar.o rmar_nd.o
-
-include filelist.hsopt.llvm2_0.objs
-HSOPT_OBJS += $(LLVM_OBJS)
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/filelist.pli b/DA4008_V1.2/sim/lvds/csrc/filelist.pli
deleted file mode 100644
index 653944b..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/filelist.pli
+++ /dev/null
@@ -1,4 +0,0 @@
-PLI_STUB_OBJS += _vcs_pli_stub_.o
-_vcs_pli_stub_.o: _vcs_pli_stub_.c
- @$(CC) -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include -fPIC -c -o _vcs_pli_stub_.o _vcs_pli_stub_.c
- @strip -g _vcs_pli_stub_.o
diff --git a/DA4008_V1.2/sim/lvds/csrc/hsim/hsim.sdb b/DA4008_V1.2/sim/lvds/csrc/hsim/hsim.sdb
deleted file mode 100644
index ea153bd..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/hsim/hsim.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/import_dpic.h b/DA4008_V1.2/sim/lvds/csrc/import_dpic.h
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/csrc/objs/amcQw_d.o b/DA4008_V1.2/sim/lvds/csrc/objs/amcQw_d.o
deleted file mode 100644
index 91d38e2..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/objs/amcQw_d.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/product_timestamp b/DA4008_V1.2/sim/lvds/csrc/product_timestamp
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmapats.c b/DA4008_V1.2/sim/lvds/csrc/rmapats.c
deleted file mode 100644
index 0c43907..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/rmapats.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// file = 0; split type = patterns; threshold = 100000; total count = 0.
-#include
-#include
-#include
-#include "rmapats.h"
-
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685);
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685)
-{
- U I1547;
- U I1548;
- U I1549;
- struct futq * I1550;
- struct dummyq_struct * pQ = I1289;
- I1547 = ((U )vcs_clocks) + I685;
- I1549 = I1547 & ((1 << fHashTableSize) - 1);
- I1283->I727 = (EBLK *)(-1);
- I1283->I731 = I1547;
- if (I1547 < (U )vcs_clocks) {
- I1548 = ((U *)&vcs_clocks)[1];
- sched_millenium(pQ, I1283, I1548 + 1, I1547);
- }
- else if ((peblkFutQ1Head != ((void *)0)) && (I685 == 1)) {
- I1283->I733 = (struct eblk *)peblkFutQ1Tail;
- peblkFutQ1Tail->I727 = I1283;
- peblkFutQ1Tail = I1283;
- }
- else if ((I1550 = pQ->I1190[I1549].I745)) {
- I1283->I733 = (struct eblk *)I1550->I744;
- I1550->I744->I727 = (RP )I1283;
- I1550->I744 = (RmaEblk *)I1283;
- }
- else {
- sched_hsopt(pQ, I1283, I1547);
- }
-}
-#ifdef __cplusplus
-extern "C" {
-#endif
-void SinitHsimPats(void);
-#ifdef __cplusplus
-}
-#endif
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmapats.h b/DA4008_V1.2/sim/lvds/csrc/rmapats.h
deleted file mode 100644
index fcea8b7..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/rmapats.h
+++ /dev/null
@@ -1,2550 +0,0 @@
-#ifndef __DO_RMAHDR_
-#define __DO_RMAHDR_
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-#define VCS_RTLIB_TLS_MODEL __attribute__((tls_model("initial-exec")))
-
-typedef unsigned long UP;
-typedef unsigned U;
-typedef unsigned char UB;
-typedef unsigned char scalar;
-typedef struct vec32 vec32;
-typedef unsigned short US;
-typedef unsigned char SVAL;
-typedef unsigned char TYPEB;
-typedef struct qird QIRD;
-typedef unsigned char UST_e;
-typedef unsigned uscope_t;
-typedef U NumLibs_t;
-struct vec32 {
- U I1;
- U I2;
-};
-typedef unsigned long RP;
-typedef unsigned long RO;
-typedef unsigned long long ULL;
-typedef U GateCount;
-typedef U NodeCount;
-typedef unsigned short HsimEdge;
-typedef unsigned char HsimExprChar;
-typedef struct {
- U I706;
- RP I707;
-} RmaReceiveClock1;
-typedef NodeCount FlatNodeNum;
-typedef U InstNum;
-typedef unsigned ProcessNum;
-typedef unsigned long long TimeStamp64;
-typedef unsigned long long TimeStamp;
-typedef enum {
- PD_SING = 0,
- PD_RF = 1,
- PD_PLSE = 2,
- PD_PLSE_RF = 3,
- PD_NULL = 4
-} PD_e;
-typedef TimeStamp RmaTimeStamp;
-typedef TimeStamp64 RmaTimeStamp64;
-typedef struct {
- int * I708;
- int * I709;
- int I710;
- union {
- long long enumDesc;
- long long classId;
- } I711;
-} TypeData;
-struct etype {
- U I586 :8;
- U I587;
- U I588;
- U I589 :1;
- U I590 :1;
- U I591 :1;
- U I592 :1;
- U I593 :1;
- U I594 :1;
- U I595 :1;
- U I596 :1;
- U I597 :1;
- U I598 :4;
- U I599 :1;
- U I600 :1;
- U I601 :1;
- U I602 :1;
- U I603 :1;
- U I604 :1;
- U I605 :1;
- U I606 :1;
- U I607 :2;
- U I608 :1;
- U I609 :2;
- U I610 :1;
- U I611 :1;
- U I612 :1;
- U I613 :1;
- U I614 :1;
- U I615 :1;
- TypeData * I616;
- U I617;
- U I618;
- U I619 :1;
- U I620 :1;
- U I621 :1;
- U I622 :1;
- U I623 :2;
- U I624 :2;
- U I625 :1;
- U I626 :1;
- U I627 :1;
- U I628 :1;
- U I629 :1;
- U I630 :1;
- U I631 :1;
- U I632 :1;
- U I633 :1;
- U I634 :1;
- U I635 :1;
- U I636 :13;
-};
-typedef union {
- double I718;
- unsigned long long I719;
- unsigned I720[2];
-} rma_clock_struct;
-typedef struct eblk EBLK;
-typedef int (* E_fn)(void);
-typedef struct eblk {
- struct eblk * I727;
- E_fn I728;
- struct iptmpl * I729;
- unsigned I731;
- unsigned I732;
- struct eblk * I733;
-} eblk_struct;
-typedef struct {
- RP I727;
- RP I728;
- RP I729;
- unsigned I731;
- unsigned I732;
- RP I733;
-} RmaEblk;
-typedef struct {
- RP I727;
- RP I728;
- RP I729;
- unsigned I731;
- unsigned I732;
- RP I733;
- unsigned val;
-} RmaEblklq;
-typedef union {
- double I718;
- unsigned long long I719;
- unsigned I720[2];
-} clock_struct;
-typedef clock_struct RmaClockStruct;
-typedef struct RmaRetain_t RmaRetain;
-struct RmaRetain_t {
- RP I769;
- RmaEblk I726;
- U I771;
- US I772 :1;
- US I773 :4;
- US I181 :2;
- US state :2;
- US I775 :1;
- US I776 :2;
- US I777 :2;
- US fHsim :1;
- US I569 :1;
- scalar newval;
- scalar I780;
- RP I781;
-};
-struct retain_t {
- struct retain_t * I769;
- EBLK I726;
- U I771;
- US I772 :1;
- US I773 :4;
- US I181 :2;
- US state :2;
- US I775 :1;
- US I776 :2;
- US I777 :2;
- US fHsim :1;
- US I778 :1;
- scalar newval;
- scalar I780;
- void * I781;
-};
-typedef struct MPSched MPS;
-typedef struct RmaMPSched RmaMps;
-struct MPSched {
- MPS * I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- EBLK I766;
- void * I767;
- UP I768[1];
-};
-struct RmaMPSched {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- RmaEblk I766;
- RP I767;
- RP I768[1];
-};
-typedef struct RmaMPSchedPulse RmaMpsp;
-struct RmaMPSchedPulse {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar I181;
- U I765;
- RmaEblk I766;
- scalar I777;
- scalar I786;
- scalar I787;
- scalar I788;
- U I789;
- RmaClockStruct I790;
- RmaClockStruct I791;
- U state;
- U I792;
- RP I729;
- RP I793;
- RP I794;
- RP I768[1];
-};
-typedef struct MPItem MPI;
-struct MPItem {
- U * I796;
- void * I797;
-};
-typedef struct {
- RmaEblk I726;
- RP I798;
- scalar I799;
- scalar I777;
- scalar I800;
-} RmaTransEventHdr;
-typedef struct RmaMPSchedPulseNewCsdf RmaMpspNewCsdf;
-struct RmaMPSchedPulseNewCsdf {
- RP I760;
- scalar I761;
- scalar I762;
- scalar I763;
- scalar fHsim :1;
- scalar I181 :6;
- U I765;
- RmaEblk I766;
- scalar I777;
- scalar I786;
- scalar I787;
- scalar I788;
- U state :4;
- U I802 :28;
- RmaClockStruct I790;
- RmaClockStruct I791;
- RP I803;
- RP I729;
- RP I804;
- RP I768[1];
-};
-typedef struct red_t {
- U I805;
- U I806;
- U I685;
-} RED;
-typedef struct predd {
- PD_e I181;
- RED I807[0];
-} PREDD;
-union rhs_value {
- vec32 I808;
- scalar I799;
- vec32 * I777;
- double I809;
- U I810;
-};
-typedef struct nbs_t {
- struct nbs_t * I811;
- struct nbs_t * I813;
- void (* I814)(struct nbs_t * I781);
- U I815 :1;
- U I816 :1;
- U I817 :1;
- U I818 :1;
- U I819 :1;
- U I820 :1;
- U I821 :26;
- U I822;
- void * I823;
- union rhs_value I824;
- vec32 I718;
- union {
- struct nbs_t * first;
- struct nbs_t * last;
- } I826;
-} NBS;
-typedef struct {
- RP I827;
- RP I793;
- RP I729;
- RP I794;
- RmaEblk I726;
- RmaEblk I828;
- RP I829;
- scalar I799;
- scalar I777;
- char state;
- uscope_t I830;
- U I831;
- RP I832;
- scalar I786;
- scalar I787;
- scalar I788;
- RmaClockStruct I790;
- RmaClockStruct I791;
- RP I767;
-} RmaPulse;
-typedef enum {
- QIRDModuleC = 1,
- QIRDSVPackageC = 2,
- QIRDSpiceModuleC = 3
-} QIRDModuleType;
-typedef struct {
- U I836 :1;
- U I837 :1;
- U I838 :1;
- U I839 :1;
- U I840 :1;
- U I841 :1;
- U I842 :1;
- U I843 :1;
- U I844 :1;
- U I845 :1;
- U I846 :1;
- U I847 :1;
- U I848 :1;
- U I849 :1;
- U I850 :1;
- U I851 :1;
- U I852 :1;
- U I853 :1;
- QIRDModuleType I854 :2;
- U I855 :1;
- U I856 :1;
- U I857 :1;
- U I858 :1;
- U I859 :1;
- U I860 :1;
- U I861 :1;
- U I862 :1;
- U I863 :1;
- U I864 :1;
- U I865 :1;
- U I866 :1;
- U I867 :1;
- U I868 :1;
- U I869 :1;
- U I870 :1;
- U I871 :1;
- U I872 :1;
- U I873 :1;
- U I874 :1;
-} BitFlags;
-struct qird {
- US I4;
- US I5;
- U I6;
- U I7;
- char * I8;
- char * I9;
- U * I10;
- char * I11;
- char * I12;
- U I13;
- U I14;
- struct vcd_rt * I15;
- U I17;
- struct _vcdOffset_rt * I18;
- U I20;
- U I21;
- U * I22;
- U * I23;
- void * I24;
- void * I25;
- U I26;
- int I27;
- UP I28;
- U I29;
- U I30;
- U I31;
- UP I32;
- U * I33;
- UP I34;
- U I35;
- BitFlags I36;
- U I37;
- U I38;
- U I39;
- U I40;
- U I41;
- U * I42;
- U I43;
- U * I44;
- U I45;
- U I46;
- U I47;
- U I48;
- U I49;
- U I50;
- U I51;
- U * I52;
- U * I53;
- U I54;
- U I55;
- U * I56;
- U I57;
- U * I58;
- U I59;
- U I60;
- U I61;
- U I62;
- U * I63;
- U I64;
- U * I65;
- U I66;
- U I67;
- U I68;
- U I69;
- U I70;
- U I71;
- U * I72;
- char * I73;
- U I74;
- U I75;
- U I76;
- U I77;
- U I78;
- U * I79;
- U I80;
- U I81;
- U I82;
- UP * I83;
- U I84;
- U I85;
- U I86;
- U I87;
- U I88;
- U I89;
- U * I90;
- U I91;
- U I92;
- U * I93;
- U * I94;
- U * I95;
- U * I96;
- U * I97;
- U I98;
- U I99;
- struct taskInfo * I100;
- U I102;
- U I103;
- U I104;
- int * I105;
- U * I106;
- UP * I107;
- U * I108;
- U I109;
- U I110;
- U I111;
- U I112;
- U I113;
- struct qrefer * I114;
- U * I116;
- unsigned * I117;
- void * I118;
- U I119;
- U I120;
- struct classStaticReferData * I121;
- U I123;
- U * I124;
- U I125;
- U * I126;
- U I127;
- struct wakeupInfoStruct * I128;
- U I130;
- U I131;
- U I132;
- U * I133;
- U I134;
- U * I135;
- U I136;
- U I137;
- U I138;
- U * I139;
- U I140;
- U * I141;
- U I142;
- U I143;
- U * I144;
- U I145;
- U I146;
- U * I147;
- U * I148;
- U * I149;
- U I150;
- U I151;
- U I152;
- U I153;
- U I154;
- struct qrefee * I155;
- U * I157;
- U I158;
- struct qdefrefee * I159;
- U * I161;
- int (* I162)(void);
- char * I163;
- U I164;
- U I165;
- void * I166;
- void * I167;
- NumLibs_t I168;
- char * I169;
- U * I170;
- U I171;
- U I172;
- U I173;
- U I174;
- U I175;
- U * I176;
- U * I177;
- int I178;
- struct clock_load * I179;
- int I194;
- struct clock_data * I195;
- int I211;
- struct clock_hiconn * I212;
- U I216;
- U I217;
- U I218;
- U I219;
- U * I220;
- U * I221;
- U I222;
- void * I223;
- U I224;
- U I225;
- UP * I226;
- void * I227;
- U I228;
- UP * I229;
- U * I230;
- int (* I231)(void);
- U * I232;
- UP * I233;
- U * I234;
- U I235 :1;
- U I236 :31;
- U I237;
- U I238;
- UP * I239;
- U * I240;
- U I241 :1;
- U I242 :1;
- U I243 :1;
- U I244 :1;
- U I245 :28;
- U I246;
- U I247;
- U I248;
- U I249 :31;
- U I250 :1;
- UP * I251;
- UP * I252;
- U * I253;
- U * I254;
- U * I255;
- U * I256;
- UP * I257;
- UP * I258;
- UP * I259;
- U * I260;
- UP * I261;
- UP * I262;
- UP * I263;
- UP * I264;
- char * I265;
- U I266;
- U I267;
- U I268;
- UP * I269;
- U I270;
- UP * I271;
- UP * I272;
- UP * I273;
- UP * I274;
- UP * I275;
- UP * I276;
- UP * I277;
- UP * I278;
- UP * I279;
- UP * I280;
- UP * I281;
- UP * I282;
- UP * I283;
- UP * I284;
- U * I285;
- U * I286;
- UP * I287;
- U I288;
- U I289;
- U I290;
- U I291;
- U I292;
- U I293;
- U I294;
- U I295;
- char * I296;
- U * I297;
- U I298;
- U I299;
- U I300;
- U I301;
- U I302;
- UP * I303;
- UP * I304;
- UP * I305;
- UP * I306;
- struct daidirInfo * I307;
- struct vcs_tftable * I309;
- U I311;
- UP * I312;
- UP * I313;
- U I314;
- U I315;
- U I316;
- UP * I317;
- U * I318;
- UP * I319;
- UP * I320;
- struct qird_hil_data * I321;
- UP (* I323)(void);
- UP (* I324)(void);
- UP (* I325)(void);
- UP (* I326)(void);
- UP (* I327)(void);
- int * I328;
- int (* I329)(void);
- char * I330;
- UP * I331;
- UP * I332;
- UP (* I333)(void);
- int (* I334)(void);
- int * I335;
- int (* I336)(void);
- int * I337;
- char * I338;
- U * I339;
- U * I340;
- U * I341;
- U * I342;
- void * I343;
- U I344;
- void * I345;
- U I346;
- U I347;
- U I348;
- U I349;
- U I350;
- U I351;
- char * I352;
- UP * I353;
- U * I354;
- U * I355;
- U I356 :15;
- U I357 :14;
- U I358 :1;
- U I359 :1;
- U I360 :1;
- U I361 :3;
- U I362 :1;
- U I363 :1;
- U I364 :17;
- U I365 :3;
- U I366 :5;
- U I367 :1;
- U I368 :1;
- U I369;
- U I370;
- struct scope * I371;
- U I373;
- U I374;
- U I375;
- U * I376;
- U * I377;
- U * I378;
- U I379;
- U I380;
- U I381;
- struct pcbt * I382;
- U I392;
- U I393;
- U I394;
- U I395;
- void * I396;
- void * I397;
- void * I398;
- int I399;
- U * I400;
- U I401;
- U I402;
- U I403;
- U I404;
- U I405;
- U I406;
- U I407;
- void * I408;
- UP * I409;
- U I410;
- U I411;
- void * I412;
- U I413;
- void * I414;
- U I415;
- void * I416;
- U I417;
- int (* I418)(void);
- int (* I419)(void);
- void * I420;
- void * I421;
- void * I422;
- U I423;
- U I424;
- U I425;
- U I426;
- U I427;
- U I428;
- char * I429;
- U I430;
- U * I431;
- U I432;
- U * I433;
- U I434;
- U I435;
- U I436;
- U I437;
- U I438;
- U I439;
- U * I440;
- U I441;
- U I442;
- U * I443;
- U I444;
- U I445;
- U I446;
- U * I447;
- char * I448;
- U I449;
- U I450;
- U I451;
- U I452;
- U * I453;
- U * I454;
- U I455;
- U * I456;
- U * I457;
- U I458;
- U I459;
- U I460;
- UP * I461;
- U I462;
- U I463;
- U I464;
- struct cosim_info * I465;
- U I467;
- U * I468;
- U I469;
- void * I470;
- U I471;
- U * I472;
- U I473;
- struct hybridSimReferrerData * I474;
- U I476;
- U * I477;
- U I478;
- U I479;
- U * I480;
- U I481;
- U * I482;
- U I483;
- U * I484;
- U I485;
- U I486;
- U I487;
- U I488;
- U I489;
- U I490;
- U I491;
- U I492;
- U I493;
- U * I494;
- U * I495;
- void (* I496)(void);
- U * I497;
- UP * I498;
- struct mhdl_outInfo * I499;
- UP * I501;
- U I502;
- UP * I503;
- U I504;
- void * I505;
- U * I506;
- void * I507;
- char * I508;
- int (* I509)(void);
- U * I510;
- char * I511;
- char * I512;
- U I513;
- U * I514;
- char * I515;
- U I516;
- struct regInitInfo * I517;
- UP * I519;
- U * I520;
- char * I521;
- U I522;
- U I523;
- U I524;
- U I525;
- U I526;
- U I527;
- U I528;
- U I529;
- UP * I530;
- U I531;
- U I532;
- U I533;
- U I534;
- UP * I535;
- U I536;
- UP * I537;
- U I538;
- U I539;
- U I540;
- U * I541;
- U I542;
- U I543;
- U I544;
- U * I545;
- U * I546;
- UP * I547;
- UP * I548;
- void * I549;
- UP I550;
- void * I551;
- void * I552;
- void * I553;
- void * I554;
- void * I555;
- UP I556;
- U * I557;
- U * I558;
- void * I559;
- U I560 :1;
- U I561 :31;
- U I562;
- U I563;
- U I564;
- int I565;
- U I566 :1;
- U I567 :1;
- U I568 :1;
- U I569 :29;
- void * I570;
- void * I571;
- void * I572;
- void * I573;
- void * I574;
- UP * I575;
- U * I576;
- U I577;
- char * I578;
- U * I579;
- U * I580;
- char * I581;
- int * I582;
- UP * I583;
- struct etype * I584;
- U I637;
- U I638;
- U * I639;
- struct etype * I640;
- U I641;
- U I642;
- U I643;
- U * I644;
- void * I645;
- U I646;
- U I647;
- void * I648;
- U I649;
- U I650;
- U * I651;
- U * I652;
- char * I653;
- U I654;
- struct covreg_rt * I655;
- U I657;
- U I658;
- U * I659;
- U I660;
- U * I661;
- U I662;
- U I663;
- U * I664;
-};
-typedef struct pcbt {
- U * I384;
- UP I385;
- U I386;
- U I387;
- U I388;
- U I389;
- U I390;
- U I391;
-} PCBT;
-struct iptmpl {
- QIRD * I734;
- struct vcs_globals_t * I735;
- void * I737;
- UP I738;
- UP I739;
- struct iptmpl * I729[2];
-};
-typedef unsigned long long FileOffset;
-typedef struct _RmaMultiInputTable {
- U I881 :1;
- U I882 :1;
- U I672 :2;
- U I673 :4;
- U I674 :5;
- U I883 :1;
- U I884 :1;
- U I885 :1;
- U I886 :1;
- U I887 :1;
- U I888 :1;
- U I889;
- U I890;
- U I203;
- U I891;
- U I892 :1;
- U I893 :31;
- union {
- U utable;
- U edgeInputNum;
- } I699;
- U I894 :4;
- U I895 :4;
- U I896 :4;
- U I897 :4;
- U I898 :4;
- U I899 :4;
- U I900 :1;
- U I901 :1;
- U I902 :1;
- U I903 :1;
- U I904 :5;
- HsimExprChar * I905;
- UB * I906;
- UB * I907;
- struct _RmaMultiInputTable * I880;
- struct _RmaMultiInputTable * I909;
-} RmaMultiInputTable;
-typedef struct _HsCgPeriod {
- U I955;
- U I956;
-} HsCgPeriod;
-typedef struct {
- U I957[2];
- U I958 :1;
- U I959 :1;
- U I960 :8;
- U I961 :8;
- U I962 :8;
- U I963 :4;
- U I964 :1;
- U I965 :1;
- unsigned long long I966;
- unsigned long long I967;
- unsigned long long I968;
- unsigned long long I969;
- unsigned long long I956;
- U I955;
- U I970;
- U I971;
- U I972;
- U I973;
- U I974;
- HsCgPeriod * I975[10];
-} HsimSignalMonitor;
-typedef struct {
- FlatNodeNum I976;
- InstNum I977;
- U I915;
- scalar I978;
- UB I979;
- UB I980;
- UB I981;
- UB I982;
- UB I983;
- UB I984;
- U I985;
- U I986;
- U I987;
- U I988;
- U I989;
- U I990;
- U I991;
- U I992;
- U I993;
- HsimSignalMonitor * I994;
- RP I995;
- RmaTimeStamp64 I996;
- U I997;
- RmaTimeStamp64 I998;
- U I999;
- UB I1000;
-} HsimNodeRecord;
-typedef RP RCICODE;
-typedef struct {
- RP I1005;
- RP I729;
-} RmaIbfIp;
-typedef struct {
- RP I1005;
- RP pcode;
-} RmaIbfPcode;
-typedef struct {
- RmaEblk I726;
-} RmaEvTriggeredOrSyncLoadCg;
-typedef struct {
- RO I877;
- RP pcode;
-} SchedGateFanout;
-typedef struct {
- RO I877;
- RP pcode;
- U I936[4];
-} SchedSelectGateFanout;
-typedef struct {
- RP pcode;
- RmaEblklq I726;
-} SchedGateEblk;
-typedef struct {
- RP pcode;
- RmaEblklq I726;
- UB * I1006;
-} SchedSelectGateEblk;
-typedef struct {
- RP I1007;
- RP pfn;
- RP pcode;
-} RmaSeqPrimOutputEblkData;
-typedef struct {
- RmaEblk I726;
- RP I1008;
-} RmaAnySchedSampleSCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- vec32 I1009;
-} RmaAnySchedVCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- vec32 I776[1];
-} RmaAnySchedWCg;
-typedef struct {
- RmaEblk I726;
- RP I1006;
- RP I1008;
- scalar I1010[1];
-} RmaAnySchedECg;
-typedef struct {
- U I1011;
- U I714;
- U I915;
- U I1012;
- RmaIbfIp * I1013;
- EBLK I726;
- void * val;
-} RmaThreadSchedCompiledLoads;
-typedef struct {
- U I714;
- U I722;
- RmaThreadSchedCompiledLoads * I1014;
-} RmaSchedCompileLoadsCg;
-typedef struct {
- RP I1015;
-} RmaRootCbkCg;
-typedef struct {
- RP I1016;
-} RmaRootForceCbkCg;
-typedef struct {
- RmaEblk I726;
- RP I1017;
-} RmaForceCbkJmpCg;
-typedef struct {
- U I5;
- U I722 :31;
- U I1018 :1;
- vec32 I808;
- U I1019;
- RP I1020;
- RP I1021;
-} RmaForceSelectorV;
-typedef struct {
- U I5;
- RmaIbfPcode I1027;
-} RmaNetTypeDriverGate;
-typedef struct {
- U I5;
- U I668;
- RmaIbfPcode I1027[1];
-} RmaNetTypeScatterGate;
-typedef struct {
- U I5;
- RmaIbfPcode I1027;
-} RmaNetTypeGatherGate;
-typedef struct {
- RmaIbfPcode I1028;
- U I1029 :3;
- U I1030 :1;
- U I1031 :1;
- U I890 :16;
-} RmaNbaGateOfn;
-typedef struct {
- U I5;
- NBS I1032;
- RmaIbfPcode I1028;
-} RmaNbaGate1;
-typedef struct {
- RP ptable;
- RP pfn;
- RP pcode;
-} Rma1InputGateFaninCgS;
-typedef struct RmaSeqPrimOutputS_ RmaSeqPrimOutputOnClkS;
-struct RmaSeqPrimOutputS_ {
- RP pfn;
- RP I1035;
- U state;
- U I1036;
- RP I1037;
- U I706;
- scalar val;
-};
-typedef struct {
- U I5;
- U iinput;
- UB I1039;
- RP I1040;
-} RmaCondOptLoad;
-typedef struct {
- U I5;
- U iinput;
- UB I1039;
- RP I1040;
-} RmaMacroStateUpdate;
-typedef struct {
- U I5;
- U state;
- U I1041;
- UB I1039;
- U * I1042;
-} RmaMacroState;
-typedef struct {
- U iinput;
- RP I1043;
-} RmaMultiInputLogicGateCg;
-typedef struct {
- U iinput;
- RP ptable;
- RP I1043;
-} RmaSeqPrimEdgeInputCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
-} RmaSched0GateCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- RP pfn;
-} RmaUdpDeltaGateCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- RP pfn;
- scalar I1044;
-} RmaSchedDeltaGateCg;
-typedef struct {
- UB I1045;
- RP I1046;
- RP I1047;
-} RmaPropNodeSeqLhsSCg;
-typedef struct {
- RmaEblk I726;
- RP pcode;
- U I915;
- U I715[1];
-} RmaBitEdgeEblk;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaGateDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaGateBehavioralDelay;
-typedef struct {
- U I5;
- union {
- RP I1290;
- RP I1578;
- RP I1592;
- } I781;
- RmaIbfPcode I1028;
-} RmaMPDelay;
-typedef struct {
- U I5;
- RmaPulse I1048;
- RmaIbfPcode I1028;
-} RmaMPPulseHybridDelay;
-typedef struct {
- U I5;
- RmaIbfPcode I1028;
- RmaMps I1049;
-} RmaMPHybridDelay;
-typedef struct {
- U I5;
- U I1050;
- RmaIbfPcode I1028;
- RmaEblk I766;
-} RmaMPHybridDelayPacked;
-typedef struct {
- U I5;
- RmaIbfPcode I1028;
- RmaMpspNewCsdf I1051;
-} RmaMPPulseDelay;
-typedef struct {
- U I5;
- RmaMpsp I1051;
- RmaIbfPcode I1028;
-} RmaMPPulseOptHybridDelay;
-typedef struct _RmaBehavioralTransportDelay {
- U I5;
- RP I685;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaBehavioralTransportDelayS;
-typedef struct {
- U I5;
- U I685;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaNtcTransDelay;
-typedef struct {
- U I5;
- U I685;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransMpwOptDelay;
-typedef struct {
- U I5;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransZeroDelay;
-typedef struct {
- U I5;
- U I1052;
- U I1053;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaNtcTransDelayRF;
-typedef struct {
- U I5;
- U I1052;
- U I1053;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaNtcTransMpwOptDelayRF;
-typedef struct {
- U I5;
- RP I1054;
- RmaTransEventHdr I921;
- RP I804;
- RmaIbfPcode I1028;
-} RmaICTransDelay;
-typedef struct {
- U I5;
- RP I1054;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICTransMpwOptDelay;
-typedef struct {
- U I5;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICTransZeroDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaICSimpleDelay;
-typedef struct {
- U I5;
- union {
- RP psimple;
- RP I1578;
- RP I1592;
- } I781;
- RmaIbfPcode I1028;
-} RmaICDelay;
-typedef struct {
- U I5;
- RP I807;
- RmaEblk I726;
- RmaIbfPcode I1028;
-} RmaPortDelay;
-typedef struct {
- U I890;
- RP I1058;
-} RmaRtlXEdgesLoad;
-typedef struct {
- U I5;
- RmaRtlXEdgesLoad I1058[(5)];
-} RmaRtlXEdgesHdr;
-typedef struct {
- U I5;
- US I1059;
- US I1060 :1;
- US I904 :15;
- RP I1061;
- RP I1062;
- RP I1063;
-} RmaRtlEdgeBlockHdr;
-typedef struct {
- RP I1064;
- RP I1065;
-} RemoteDbsedLoad;
-typedef struct {
- RmaEblk I726;
- RP I1066;
- RP I1067;
- U I1068 :16;
- U I1069 :2;
- U I1070 :2;
- U I1071 :1;
- U I1072 :8;
- U I904 :3;
- U I471;
- RP I1073;
- RP I811[(5)];
- RP I813[(5)];
- US I1074;
- US I1075;
- RemoteDbsedLoad I1076[1];
-} RmaRtlEdgeBlock;
-typedef struct TableAssign_ {
- struct TableAssign_ * I880;
- struct TableAssign_ * I798;
- U I5;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RP ptable;
- RP I1043;
-} TableAssign;
-typedef struct TableAssignLayoutOnClk_ {
- struct TableAssignLayoutOnClk_ * I880;
- struct TableAssignLayoutOnClk_ * I798;
- U I5;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RP ptable;
- RmaSeqPrimOutputOnClkS I1089;
- RmaEblk I726;
-} TableAssignLayoutOnClk;
-typedef struct {
- U state;
- U I1090;
-} RmaSeqPrimOutputOnClkOpt;
-typedef struct TableAssignLayoutOnClkOpt_ {
- struct TableAssignLayoutOnClkOpt_ * I880;
- struct TableAssignLayoutOnClkOpt_ * I798;
- U I1092;
- U I1078 :1;
- U I1079 :1;
- U I1080 :2;
- U I1081 :1;
- U I706 :8;
- U I1082 :1;
- U I1083 :1;
- U I1084 :1;
- U I1085 :1;
- U I1086 :1;
- U I1087 :1;
- U I904 :13;
- RmaSeqPrimOutputOnClkOpt I1089;
- RmaSeqPrimOutputEblkData I1093;
-} TableAssignLayoutOnClkOpt;
-typedef struct {
- U I5;
- RP I798;
- RP I1094;
-} RmaTableAssignList;
-typedef struct {
- U I5;
- RP I798;
- RP I1094;
- RP I1095;
- RP I1037;
- US I706;
- UB I978;
- UB I1096;
- UB I1097;
- UB I772;
- RP I1098[0];
-} RmaThreadTableAssignList;
-typedef struct {
- RP I1095;
- RP I1037;
- US I706;
- UB I978;
- UB I1096;
- UB I1097;
- UB I772;
-} RmaThreadTableHeader;
-typedef struct {
- RP I1064;
-} RmaWakeupListCg;
-typedef struct {
- RP I1064;
-} RmaWakeupArrayCg;
-typedef struct {
- RP I1064;
- RP I1099;
-} RmaPreCheckWakeupListCg;
-typedef struct {
- RP I1064;
- RP I1099;
-} RmaPreCheckWakeupArrayCg;
-typedef struct {
- U I1100;
- U I706;
- RmaTimeStamp I1101[1];
-} RmaTsArray;
-typedef struct {
- U iinput;
- RP I1102;
-} RmaConditionsMdb;
-typedef struct {
- RP I1103;
- RP I1104;
- U I1105;
-} RmaTcListHeader;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
-} RmaTcCoreSimple;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
-} RmaTcCoreConditional;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1118;
-} RmaTcCoreConditionalOpt;
-typedef struct {
- RP I880;
- RP I1106;
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtc;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
-} RmaTcCoreSimpleNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1035;
-} RmaTcCoreSimpleNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
-} RmaTcCoreConditionalNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1118;
-} RmaTcCoreConditionalOptNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtcNoList;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1118;
- RP I1119;
- RP I1035;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaTcCoreConditionalMtcNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- RP I1117;
- RP I1035;
-} RmaTcCoreConditionalNoListMdb;
-typedef struct {
- RP I1107;
- RP I721;
- U I1108;
- scalar I890;
- scalar I1109;
- US I1110 :1;
- US I1111 :1;
- US I1112 :1;
- US I1113 :1;
- US I1114 :1;
- US I1115 :1;
- US I1116 :5;
- U I1122;
- RP I1123;
- RP I1124;
- RP I1117;
- RP I1125;
- RP I1126;
- RmaTimeStamp I1127;
-} RmaTcCoreNochange;
-typedef struct {
- RP I1128;
- RP I880;
-} RmaTcCoreNochangeList;
-typedef struct {
- RP I1102;
- RmaTimeStamp I1129;
- scalar I1130;
-} RmaConditionalTSLoadNoList;
-typedef struct {
- RP I880;
- RP I1102;
- RmaTimeStamp I1129;
- scalar I1130;
-} RmaConditionalTSLoad;
-typedef struct {
- RmaTimeStamp I1129;
- scalar I1130;
- US I890;
- RP I1118;
-} RmaConditionalTSLoadOptNoList;
-typedef struct {
- RP I880;
- RmaTimeStamp I1129;
- scalar I1130;
- US I890;
- RP I1118;
-} RmaConditionalTSLoadOpt;
-typedef struct {
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtcNoList;
-typedef struct {
- RP I1035;
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtcNoListMdb;
-typedef struct {
- RP I880;
- RP I1118;
- RP I1131;
- U I1120;
- RmaConditionsMdb arr[1];
-} RmaConditionalTSLoadMtc;
-typedef struct {
- U I1132;
- U I1133;
- FlatNodeNum I1004;
- U I915;
- U I1134;
- U I1135;
- RmaIbfPcode I1028;
- union {
- scalar I1136;
- vec32 I1137;
- scalar * I1138;
- vec32 * I1139;
- } val;
-} RmaScanSwitchData;
-typedef struct {
- RP I880;
- RP I798;
- RP I1140;
-} RmaDoublyLinkedListElem;
-typedef struct {
- RP I1141;
- U I1142 :1;
- U I1143 :1;
- U I1144 :1;
- U I1145 :4;
- U I904 :25;
- U I1146;
-} RmaSwitchGateInCbkListInfo;
-typedef struct {
- union {
- RmaDoublyLinkedListElem I1640;
- RmaSwitchGateInCbkListInfo I2;
- } I699;
- RmaIbfPcode I1028;
-} RmaSwitchGate;
-typedef struct RmaNonEdgeLoadData1_ {
- US I1147;
- scalar val;
- scalar I1148 :1;
- scalar I1149 :1;
- scalar I1150 :1;
- scalar I1151 :1;
- scalar I1152 :1;
- U I1153;
- RP I811;
- RP I1154;
- RP I1004;
- RP I1155;
- RP I1156;
-} RmaNonEdgeLoadData1;
-typedef struct RmaNonEdgeLoadHdr1_ {
- UB I1148;
- UB I1157;
- UB I978;
- RmaNonEdgeLoadData1 * I1058;
- RmaNonEdgeLoadData1 * I798;
- void * I1158;
-} RmaNonEdgeLoadHdr1;
-typedef struct RmaNonEdgeLoadHdrPrl1_ {
- U I1159;
- RP I721;
-} RmaNonEdgeLoadHdrPrl1;
-typedef struct RmaChildClockProp_ {
- RP I811;
- RP I1160;
- RP I1004;
- RP pcode;
- scalar val;
-} RmaChildClockProp;
-typedef struct RmaChildClockPropList1_ {
- RmaChildClockProp * I1058;
- RmaChildClockProp * I798;
-} RmaChildClockPropList1;
-typedef struct {
- U I5;
- U I1161;
-} RmaHDLCosimDUTGate;
-typedef struct {
- UB I1162;
- UB I1163 :1;
- UB I1164 :1;
- UB I1165 :1;
- UB I1166 :1;
- UB I904 :4;
- US cedges;
-} RmaMasterXpropLoadHdr;
-typedef struct {
- UB I1167;
- UB I1168;
- UB I1169;
- UB I1170;
- U cedges :30;
- U I1164 :1;
- U I1171 :1;
- U I1172;
- U I1173;
- RP I1174;
- RP I1175;
- RmaRtlEdgeBlockHdr * I1176;
-} RmaChildXpropLoadHdr;
-struct clock_load {
- U I181 :5;
- U I182 :12;
- U I183 :1;
- U I184 :2;
- U I185 :1;
- U I186 :1;
- U I187 :1;
- U I188 :9;
- U I189;
- U I190;
- void (* pfn)(void * I192, char val);
-};
-typedef struct clock_data {
- U I197 :1;
- U I198 :1;
- U I199 :1;
- U I200 :1;
- U I181 :5;
- U I182 :12;
- U I201 :6;
- U I202 :1;
- U I184 :2;
- U I185 :1;
- U I188 :1;
- U I203;
- U I204;
- U I205;
- U I189;
- U I206;
- U I207;
- U I208;
- U I209;
- U I210;
-} HdbsClockData;
-struct clock_hiconn {
- U I214;
- U I215;
- U I189;
- U I184;
-};
-typedef struct _RmaDaiCg {
- RP I1177;
- RP I1178;
- U I1179;
-} RmaDaiCg;
-typedef union _RmaCbkMemOptUnion {
- RP I1177;
- RP I1180;
- RP I1181;
-} RmaCbkMemOptUnion;
-typedef struct _RmaDaiOptCg {
- RmaCbkMemOptUnion I1182;
-} RmaDaiOptCg;
-struct futq_slot2 {
- U I758;
- U I759[32];
-};
-struct futq_slot1 {
- U I755;
- struct futq_slot2 I756[32];
-};
-struct futq_info {
- scalar * I750;
- U I751;
- U I752;
- struct futq_slot1 I753[32];
-};
-struct futq {
- struct futq * I740;
- struct futq * I742;
- RmaEblk * I743;
- RmaEblk * I744;
- U I731;
- U I1;
-};
-struct sched_table {
- struct futq * I745;
- struct futq I746;
- struct hash_bucket * I747;
- struct hash_bucket * I749;
-};
-struct dummyq_struct {
- clock_struct I1183;
- EBLK * I1184;
- EBLK * I1185;
- EBLK * I1186;
- struct futq * I1187;
- struct futq * I1188;
- struct futq * I1189;
- struct sched_table * I1190;
- struct futq_info * I1192;
- struct futq_info * I1194;
- U I1195;
- U I1196;
- U I1197;
- U I1198;
- U I1199;
- U I1200;
- U I1201;
- struct millenium * I1202;
- EBLK * I1204;
- EBLK * I1205;
- EBLK * I1206;
- EBLK * I1207;
- EBLK * I1208;
- EBLK * I1209;
- EBLK * I1210;
- EBLK * I1211;
- EBLK * I1212;
- EBLK * I1213;
- EBLK * I1214;
- EBLK * I1215;
- EBLK * I1216;
- EBLK * I1217;
- EBLK * I1218;
- EBLK * I1219;
- EBLK * I1220;
- EBLK * I1221;
- MPS * I1222;
- struct retain_t * I1223;
- EBLK * I1224;
- EBLK * I1225;
- EBLK * I1226;
- EBLK * I1227;
- EBLK * I1228;
- EBLK * I1229;
- EBLK * I1230;
- EBLK * I1231;
- EBLK * I1232;
- EBLK * I1233;
- EBLK * I1234;
- EBLK * I1235;
- EBLK * I1236;
- EBLK * I1237;
- EBLK * I1238;
- EBLK * I1239;
- EBLK * I1240;
- EBLK * I1241;
- EBLK * I1242;
- EBLK * I1243;
- EBLK * I1244;
- EBLK * I1245;
- EBLK * I1246;
- EBLK * I1247;
- EBLK * I1248;
- EBLK * I1249;
- EBLK I1250;
- EBLK * I1251;
- EBLK * I1252;
- EBLK * I1253;
- EBLK * I1254;
- int I1255;
- int I1256;
- struct vcs_globals_t * I1257;
- clock_struct I1258;
- unsigned long long I1259;
- EBLK * I1260;
- EBLK * I1261;
- void * I1262;
-};
-typedef void (* FP)(void * , scalar );
-typedef void (* FP1)(void * );
-typedef void (* FPRAP)(void * , vec32 * , U );
-typedef U (* FPU1)(void * );
-typedef void (* FPV)(void * , UB * );
-typedef void (* FPVU)(void * , UB * , U );
-typedef void (* FPLSEL)(void * , scalar , U );
-typedef void (* FPLSELV)(void * , vec32 * , U , U );
-typedef void (* FPFPV)(UB * , UB * , U , U , U , U , U , UB * , U );
-typedef void (* FPFA)(UB * , UB * , U , U , U , U , U , U , UB * , U );
-typedef void (* FPRPV)(UB * , U , U , U );
-typedef void (* FPEVCDLSEL)(void * , scalar , U , UB * );
-typedef void (* FPEVCDLSELV)(void * , vec32 * , U , U , UB * );
-typedef void (* FPNTYPE_L)(void * , void * , U , U , UB * , UB * , UB * , UB * , UB * , UB * , UB * , U );
-typedef void (* FPNTYPE_H)(void * , void * , U , U , UB * , UB * , UB * , UB * , U );
-typedef void (* FPNTYPE_LPAP)(void * , void * , void * , U , U , UB * , UB * , U );
-typedef void (* FPNTYPE_HPAP)(void * , void * , void * , U , U , UB * , UB * , UB * , UB * , U );
-typedef struct _lqueue {
- EBLK * I727;
- EBLK * I1263;
- int I1264;
- struct _lqueue * I769;
-} Queue;
-typedef struct {
- void * I1266;
- void * I1267;
- void * I1268[2];
- void * I1269;
-} ClkLevel;
-typedef struct {
- unsigned long long I1270;
- EBLK I1171;
- U I1271;
- U I1272;
- union {
- void * pHeap;
- Queue * pList;
- } I699;
- unsigned long long I1273;
- ClkLevel I1274;
- Queue I1275[1];
-} Qhdr;
-extern UB Xvalchg[];
-extern UB X4val[];
-extern UB X3val[];
-extern UB X2val[];
-extern UB XcvtstrTR[];
-extern UB Xcvtstr[];
-extern UB Xbuf[];
-extern UB Xbitnot[];
-extern UB Xwor[];
-extern UB Xwand[];
-extern U Xbitnot4val[];
-extern UB globalTable1Input[];
-extern __thread unsigned long long vcs_clocks;
-extern UB Xunion[];
-extern U fRTFrcRelCbk;
-extern FP txpFnPtr;
-extern FP rmaFunctionArray[];
-extern UP rmaFunctionRtlArray[];
-extern FP rmaFunctionLRArray[];
-extern U rmaFunctionCount;
-extern U rmaFunctionLRCount;
-extern U rmaFunctionLRDummyCount;
-extern UP rmaFunctionDummyEndPtr;
-extern FP rmaFunctionFanoutArray[];
-extern __thread UB dummyScalar;
-extern __thread UB fScalarIsForced;
-extern __thread UB fScalarIsReleased;
-extern U fNotimingchecks;
-extern U fFsdbDumpOn;
-extern RP * iparr;
-extern FP1 * rmaPostAnySchedFnPtr;
-extern FP1 * rmaPostAnySchedFnSamplePtr;
-extern FP1 * rmaPostAnySchedVFnPtr;
-extern FP1 * rmaPostAnySchedWFnPtr;
-extern FP1 * rmaPostAnySchedEFnPtr;
-extern FP1 * rmaPostSchedUpdateClockStatusFnPtr;
-extern FP1 * rmaPostSchedUpdateClockStatusNonCongruentFnPtr;
-extern FP1 * rmaPostSchedUpdateEvTrigFnPtr;
-extern FP1 * rmaSched0UpdateEvTrigFnPtr;
-extern FP1 * rmaPostSchedRecoveryResetDbsFnPtr;
-extern U fGblDataOrTime0Prop;
-extern UB rmaEdgeStatusValArr[];
-extern FP1 * propForceCbkSPostSchedCgFnPtr;
-extern FP1 * propForceCbkMemoptSPostSchedCgFnPtr;
-extern UB * ptableGbl;
-extern U * vcs_ptableOffsetsGbl;
-extern UB * expandedClkValues;
-extern __thread Qhdr * lvlQueue;
-extern __thread unsigned threadIndex;
-extern int cPeblkThreads;
-extern US xedges[];
-extern U mhdl_delta_count;
-extern U ignoreSchedForScanOpt;
-extern U fignoreSchedForDeadComboCloud;
-extern int fZeroUser;
-extern U fEveBusPullVal;
-extern U fEveBusPullFlag;
-extern U fFutEventPRL;
-extern U fParallelEBLK;
-extern U fBufferingEvent;
-extern __thread UB fNettypeIsForced;
-extern __thread UB fNettypeIsReleased;
-extern EBLK * peblkFutQ1Head;
-extern EBLK * peblkFutQ1Tail;
-extern US * edgeActionT;
-extern unsigned long long * derivedClk;
-extern U fHashTableSize;
-extern U fSkipStrChangeOnDelay;
-extern U fHsimTcheckOpt;
-extern scalar edgeChangeLookUp[4][4];
-extern U fDoingTime0Prop;
-extern U fLoopDetectMode;
-extern int gFLoopDectCodeEna;
-extern U fLoopReportRT;
-
-
-extern void *mempcpy(void* s1, void* s2, unsigned n);
-extern UB* rmaEvalDelays(UB* pcode, scalar val);
-extern UB* rmaEvalDelaysV(UB* pcode, vec32* pval);
-extern void rmaPopTransEvent(UB* pcode);
-extern void rmaSetupFuncArray(UP* ra, U c, U w);
-extern void rmaSetupRTLoopReportPtrs(UP* funcs, UP* rtlFuncs, U cnt, U cntDummy, UP end);
-extern void SinitHsimPats(void);
-extern void VVrpDaicb(void* ip, U nIndex);
-extern int SDaicb(void *ip, U nIndex);
-extern void SDaicbForHsimNoFlagScalar(void* pDaiCb, unsigned char value);
-extern void SDaicbForHsimNoFlagStrengthScalar(void* pDaiCb, unsigned char value);
-extern void SDaicbForHsimNoFlag(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimNoFlag2(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimWithFlag(void* pRmaDaiCg, unsigned char value);
-extern void SDaicbForHsimNoFlagFrcRel(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
-extern void SDaicbForHsimNoFlagFrcRel2(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
-extern void VcsHsimValueChangeCB(void* pRmaDaiCg, void* pValue, unsigned int valueFormat);
-extern U isNonDesignNodeCallbackList(void* pRmaDaiCg);
-extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
-extern void VVrpNonEventNonRegdScalarForHsimOptCbkMemopt(void* ip, U nIndex);
-extern void SDaicbForHsimCbkMemOptNoFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptWithFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
-extern void SDaicbForHsimCbkMemOptNoFlagDynElabFrcRel(U* mem, unsigned char reason, int msb, int lsb, int ndx);
-extern void SDaicbForHsimCbkMemOptNoFlagFrcRel(void* pDaiCb, unsigned char reason, int msb, int lsb, int ndx);
-extern void hsimDispatchCbkMemOptForVcd(RP p, U val);
-extern void* hsimGetCbkMemOptCallback(RP p);
-extern void hsimDispatchCbkMemOptNoDynElabS(RP* p, U val, U isStrength);
-extern void* hsimGetCbkPtrNoDynElab(RP p);
-extern void hsimDispatchCbkMemOptDynElabS(U** pvcdarr, U** pcbkarr, U val, U isScalForced, U isScalReleased, U isStrength);
-extern void hsimDispatchCbkMemOptNoDynElabVector(RP* /*RmaDaiOptCg* */p, void* pval, U /*RmaValueType*/ vt, U cbits);
-extern void copyAndPropRootCbkCgS(RmaRootCbkCg* pRootCbk, scalar val);
-extern void copyAndPropRootCbkCgV(RmaRootCbkCg* rootCbk, vec32* pval);
-extern void copyAndPropRootCbkCgW(RmaRootCbkCg* rootCbk, vec32* pval);
-extern void copyAndPropRootCbkCgE(RmaRootCbkCg* rootCbk, scalar* pval);
-extern void Wsvvar_callback_non_dynamic1(RP* ptr, int);
-extern void rmaExecEvSyncList(RP plist);
-extern void Wsvvar_callback_virt_intf(RP* ptr);
-extern void Wsvvar_callback_hsim_var(RP* ptr);
-extern void checkAndConvertVec32To2State(vec32* value, vec32* svalue, U cbits, U* pforcedBits);
-extern unsigned int fGblDataOrTime0Prop;
-extern void SchedSemiLerMP1(UB* pmps, U partId);
-extern void SchedSemiLerMPO(UB* pmpso, U partId);
-extern void rmaDummyPropagate(void);
-extern RP rmaTestCg(RP pcode, U vt, UB* value);
-extern void hsUpdateModpathTimeStamp(UB* pmps);
-extern void doMpd32One(UB* pmps);
-extern void doMpdCommon(MPS* pmps);
-extern TimeStamp GET_DIFF_DELAY_FUNC(TimeStamp ts);
-extern void SchedSemiLerMP(UB* ppulse, U partId);
-extern EBLK *peblkFutQ1Head;
-extern EBLK *peblkFutQ1Tail;
-extern void scheduleuna(UB *e, U t);
-extern void scheduleuna_mp(EBLK *e, unsigned t);
-extern void schedule(UB *e, U t);
-extern void sched_hsopt(struct dummyq_struct * pQ, EBLK *e, U t);
-extern void sched_millenium(struct dummyq_struct * pQ, void *e, U thigh, U t);
-extern void schedule_1(EBLK *e);
-extern void sched0(UB *e);
-extern void sched0Raptor(UB *e);
-extern void sched0lq(EBLK *e);
-extern void sched0lqnc(EBLK *e);
-extern void sched0una(UB *e);
-extern void sched0una_th(struct dummyq_struct *pq, UB *e);
-extern void hsopt_sched0u_th(struct dummyq_struct *pq, UB *e);
-extern void scheduleuna_mp_th(struct dummyq_struct *pq, EBLK *e, unsigned t);
-extern void schedal(UB *e);
-extern void sched0_th(struct dummyq_struct * pQ, EBLK *e);
-extern void sched0u(UB *e);
-extern void sched0u_th(struct dummyq_struct *pq, UB *e);
-extern void sched0_hsim_front_th(struct dummyq_struct * pQ, UB *e);
-extern void sched0_hsim_frontlq_th(struct dummyq_struct * pQ, UB *e);
-extern void sched0lq_th(struct dummyq_struct * pQ, UB *e);
-extern void schedal_th(struct dummyq_struct * pQ, UB *e);
-extern void scheduleuna_th(struct dummyq_struct * pQ, void *e, U t);
-extern void schedule_th(struct dummyq_struct * pQ, UB *e, U t);
-extern void schedule_1_th(struct dummyq_struct * pQ, EBLK *peblk);
-extern void SetupLER_th(struct dummyq_struct * pQ, EBLK *e);
-extern void FsdbReportClkGlitch(UB*,U);
-extern void AddToClkGLitchArray(EBLK*);
-extern void SchedSemiLer_th(struct dummyq_struct * pQ, EBLK *e);
-extern void SchedSemiLerTXP_th(struct dummyq_struct * pQ, EBLK *e);
-extern void SchedSemiLerTXPFreeVar_th(struct dummyq_struct * pQ, EBLK *e);
-extern U getVcdFlags(UB *ip);
-extern void VVrpNonEventNonRegdScalarForHsimOpt(void* ip, U nIndex);
-extern void VVrpNonEventNonRegdScalarForHsimOpt2(void* ip, U nIndex);
-extern void SchedSemiLerTBReactiveRegion(struct eblk* peblk);
-extern void SchedSemiLerTBReactiveRegion_th(struct eblk* peblk, U partId);
-extern void SchedSemiLerTr(UB* peblk, U partId);
-extern void SchedSemiLerNBA(UB* peblk, U partId);
-extern void NBA_Semiler(void *ip, void *pNBS);
-extern void sched0sd_hsim(UB* peblk);
-extern void vcs_sched0sd_hsim_udpclk(UB* peblk);
-extern void vcs_sched0sd_hsim_udpclkopt(UB* peblk);
-extern void sched0sd_hsim_PRL(UB* peblk);
-extern void sched0lq_parallel_clk(EBLK* peblk);
-extern U isRtlClockScheduled(EBLK* peblk);
-extern void doFgpRaceCheck(UB* pcode, UB* p, U flag);
-extern void doSanityLvlCheck();
-extern void sched0lq_parallel_ova(EBLK* peblk);
-extern void sched0lq_parallel_ova_precheck(EBLK* peblk);
-extern void rmaDlpEvalSeqPrim(UB* peblk, UB val, UB preval);
-extern void appendNtcEvent(UB* phdr, scalar s, U schedDelta);
-extern void appendTransEventS(RmaTransEventHdr* phdr, scalar s, U schedDelta);
-extern void schedRetainHsim(MPS* pMPS, scalar sv, scalar pv);
-extern void updateRetainHsim(MPS* pMPS,scalar sv, scalar pv);
-extern void hsimCountXEdges(void* record, scalar s);
-extern void hsimRegisterEdge(void* sm, scalar s);
-extern U pvcsGetPartId();
-extern void HsimPVCSPartIdCheck(U instNo);
-extern void debug_func(U partId, struct dummyq_struct* pQ, EBLK* EblkLastEventx);
-extern struct dummyq_struct* pvcsGetQ(U thid);
-extern EBLK* pvcsGetLastEventEblk(U thid);
-extern void insertTransEvent(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, int re, UB* predd, U fpdd);
-extern void insertNtcEventRF(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, U* delays);
-extern U doTimingViolation(RmaTimeStamp ts,RP* pdata, U fskew, U limit, U floaded, U fcondopt, RmaTimeStamp tsNochange);
-extern void sched_gate_hsim(EBLK* peblk, unsigned t, RP* offset, U gd_info, U encodeInPcode, void* propValue);
-extern int getCurSchedRegion();
-extern FP getRoutPtr(RP, U);
-extern U rmaChangeCheckAndUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
-extern void rmaUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
-extern U rmaChangeCheckAndUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaLhsPartSelUpdateE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
-extern void rmaUpdateWithForceSelectorE(scalar* pvalDst, scalar* pvalSrc, U cbits, U* pforceSelector);
-extern void rmaUpdateWFromE(vec32* pvalDst, scalar* pvalSrc, U cbits);
-extern U rmaLhsPartSelWithChangeCheckE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
-extern void rmaLhsPartSelWFromE(vec32* pvalDst, scalar* pvalSrc, U index,U width);
-extern U rmaChangeCheckAndUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
-extern void rmaUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
-extern void *VCSCalloc(size_t size, size_t count);
-extern void *VCSMalloc(size_t size);
-extern void VCSFree(void *ptr);
-extern U rmaLhsPartSelWithChangeCheckW(vec32* pvalDst, vec32* pvalSrc, U index,U width);
-extern void rmaLhsPartSelEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
-extern U rmaLhsPartSelWithChangeCheckEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
-extern void rmaLhsPartSelUpdateW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
-extern void rmaEvalWunionW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalWorW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalWandW(vec32* dst, vec32* src, U cbits, U count);
-extern void rmaEvalUnionE(scalar* dst, scalar* src, U cbits, U count, RP ptable);
-typedef U RmaCgFunctionType;
-extern RmaIbfPcode* rmaEvalPartSelectsW(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsWLe32(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsWToE(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
-extern RmaIbfPcode* rmaEvalPartSelectsEToE(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
-extern RmaIbfPcode* rmaEvalPartSelectsEToW(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
-extern U rmaEvalBitPosEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitNegEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitChangeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U VcsForceVecVCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U/*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecVCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecWCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecWCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecECg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsForceVecACg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
-extern U VcsReleaseVecCg(UB* pcode, UB* pvDst, U ibeginDst, U width, U /*RmaValueType*/ type,U fisRoot, UB* prhsDst, U frhs, U* pforcedbits);
-extern U VcsDriveBitsAndDoChangeCheckV(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern U VcsDriveBitsAndDoChangeCheckW(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern U VcsDriveBitsAndDoChangeCheckE(scalar* pvSel, scalar* pvCur, U fullcbits, U* pforcedbits, U isRoot);
-extern void cgvecDebug_Eblk(UB* pcode);
-extern U rmaCmpW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
-extern void copyVec32ArrMask(vec32* pv1, vec32* pv2, U len, U* mask);
-extern void* memcpy(void*, const void*, size_t);
-extern int memcmp(const void*, const void*, size_t);
-extern void propagateScanOptPathVal(EBLK *peblk);
-extern UB* rmaProcessScanSwitches(UB* pcode, scalar val);
-extern UB* rmaProcessScanSwitchesV(UB* pcode, vec32 *pval);
-extern UB* rmaProcessScanoptDump(UB* pcode, scalar val);
-extern UB* rmaProcessScanoptDumpV(UB* pcode, vec32 *pval);
-extern UB* rmaProcessScanChainOptSeqPrims(UB* pcode, scalar val);
-extern void rmaProcessPvcsCcn(UB* pcode, scalar val);
-extern void rmaProcessPvcsCcnE(UB* pcode, scalar* val);
-extern void rmaProcessPvcsCcnW(UB* pcode, vec32* val);
-extern void rmaProcessPvcsCcnV(UB* pcode, vec32* val);
-extern void rmaProcessPvcsCcnCompiledS(UB* pcode, U offset, scalar ibnval);
-extern void rmaProcessPvcsCcnCompiledV(UB* pcode, U offset, vec32* pval);
-extern void schedResetRecoveryDbs(U cedges, EBLK* peblkFirst);
-extern UB* rmaEvalUnaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpVOneFanoutCount(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpVLargeFanoutCount(UB* pcode, vec32* pval);
-extern UB* rmaEvalAndOpVOneFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalAndOpVLargeFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalAndOpV(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpVOneFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpVLargeFanoutCount(UB* pcode, vec32* value);
-extern UB* rmaEvalOrOpV(UB* pcode, vec32* value);
-extern UB* rmaEvalTernaryOpV(UB* pcode, vec32* pval);
-extern UB* rmaEvalUnaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalBinaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalTernaryOpW(UB* pcode, vec32* pval);
-extern UB* rmaEvalUnaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalBinaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalTernaryOpE(UB* pcode, scalar* pv);
-extern UB* rmaEvalTernaryOpS(UB* pcode, scalar val);
-extern scalar rmaGetScalarFromWCg(vec32* pval, U index);
-extern void rmaSetScalarInWCg(vec32* pval, U index, scalar s);
-extern void rmaSetWInW(vec32* dst, vec32* src, U index, U indexSrc, U width);
-extern void rmaCountRaptorBits(void* pval, void* pvalPrev, U cbits, U vt);
-extern void setHsimFunc(void* ip);
-extern void unsetHsimFunc(void* ip);
-extern UB* getEvcdStatusByFlagsE(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsV(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsW(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
-extern UB* getEvcdStatusByFlagsS(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table);
-extern UB* getSingleDrvEvcdStatusS(UB value, U fTBDriver);
-extern UB* getSingleDrvEvcdStatusE(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getSingleDrvEvcdStatusV(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getSingleDrvEvcdStatusW(scalar* pscalars, U fTBDriver, U cbits);
-extern UB* getEvcdStatusByDrvEvcdStatus(UB* pdrvevcdStatus, U cdrivers, UB* table, U cbits);
-extern void evcdCallback(UP pcode, U cbits);
-extern UB* getSavedEvcdStatus(void);
-extern void saveEvcdStatus(UB*);
-extern void mhdlMarkExport(void*, U);
-extern void levelInsertQueue(int);
-extern void VcsRciRtl(RP pcode);
-extern U fLoopDetectMode;
-extern int gFLoopDectCodeEna;
-extern U fLoopReportRT;
-extern void rtSched0LoopDectDumpProcess(void* e, void* rtn, void* PQ);
-extern void pushHsimRtnCtxt(void* pcode);
-extern void popHsimRtnCtxt();
-extern EBLK* loopReportInlinedSched0Wrapper(EBLK *peblk);
-extern void loopReportSched0Wrapper(EBLK *peblk, unsigned int sfType, unsigned int fTH, struct dummyq_struct* pq);
-extern void loopReportSchedSemiLerWrapper(EBLK *peblk, int sfType);
-extern void CallGraphPushNodeAndAddToGraph(UP flatNode, UP instNum, U dummy);
-extern void CallGraphPopNode(void);
-extern RP elabGetIpTpl(U in);
-extern U rmaEvalBitBothEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ1W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQXW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ0W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval01EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval0XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval10EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEval1XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalX1EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalX0EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitPosEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitNegEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitBothEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ1E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitEdgeQ0E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern U rmaEvalBitChangeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
-extern void rmaScheduleNbaGate(RP pcode, scalar val);
-extern void rmaEvalRtlEdgeLoads(RmaRtlEdgeBlockHdr *phdr, US clkEdge, scalar clkVal, scalar prevClkVal, scalar val4, scalar prevval4, scalar master4val);
-extern void rmaEvaluateDynamicGateLoadsCg(RP p, scalar s);
-extern void rmaEvaluateFusedWithDynamicGateLoadsCg(RP p, scalar s);
-extern void rmaScheduleGatedClockEdgeLoadNew(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v);
-extern void rmaScheduleGatedClockEdgeLoad(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v);
-extern void rmaRemoveNonEdgeLoads(UB* pcode);
-extern void rmaRecordEvents(HsimNodeRecord *pnr);
-extern void handlePCBs(UB* p, U i);
-extern void markMasterClkOvaLists(U fdbs, RP p);
-extern void rmaChildClockPropAfterWrite(UB* p);
-extern void rmaSchedChildClockPropAfterWrite(UB* p, UB* pmasterList, UB val);
-extern void HDLCosimProcessDUTInputChange(U inputId, void* val);
-extern void rmaChangeListForMovedGates(UB clkVal, UB f10Edge, UB* subMasterVal, UB* plist, RP* p, U count);
-extern void rmaEvalSeqPrimLoadsByteArray(UB* pcode, UB val, UB prevval4);
-extern void rmaEvalSeqPrimLoadsByteArrayX(UB* pcode, UB val, UB prevval4);
-extern void vcsRmaEvalSeqPrimLoadsByteArraySCT(UB* pcode, UB val, UB prevval4, U c);
-extern void vcsAbortForBadEBlk(void);
-extern scalar edgeChangeLookUp[4][4];
-extern void Wsvvar_sched_virt_intf_eval(RP* ptr);
-extern void vcs_hwcosim_drive_dut_scalar(uint id, char val);
-extern void vcs_hwcosim_drive_dut_vector_4state(uint id, vec32* val);
-extern U vcs_rmaGetClkValForSeqUdpLayoutOnClkOpt(UB* poutput);
-extern U rmaIsS2State(scalar s);
-extern U rmaIsV2State(vec32* pval, U cbits);
-extern U rmaIsW2State(vec32* pval, U cbits);
-extern U rmaIsE2State(scalar* pval, U cbits);
-extern void rmaUpdateRecordFor2State(HsimNodeRecord* record, U f2state);
-typedef void (*FuncPtr)();
-static inline U asm_bsf (U in)
-{
-#if defined(linux)
- U out;
-#if !defined(__aarch64__)
- asm ("movl %1, %%eax; bsf %%eax, %%eax; movl %%eax, %0;"
- :"=r"(out)
- :"r"(in)
- :"%eax"
- );
-#else
- out = ffs(in) - 1;
-#endif
- return out;
-#else
- return 0;
-#endif
-}
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-void hs_0_M_0_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_0_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_1_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_1_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_2_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_2_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_2_5__simv_daidir (UB * pcode, U I915);
-void hs_0_M_3_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_3_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_4_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_4_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_5_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_5_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_6_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_6_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_7_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_7_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_8_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_9_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_9_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_10_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_10_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_11_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_11_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_11_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_12_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_13_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_14_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_15_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_16_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_17_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_17_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_17_5__simv_daidir (UB * pcode, U I915);
-void hs_0_M_18_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_18_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_18_6__simv_daidir (UB * pcode, scalar val, U I890);
-void hs_0_M_18_7__simv_daidir (UB * pcode, vec32 * I1363, U I890, U I1373);
-void hs_0_M_18_10__simv_daidir (UB * pcode, vec32 * I1006);
-void hs_0_M_19_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_19_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_19_6__simv_daidir (UB * pcode, scalar val, U I890);
-void hs_0_M_19_7__simv_daidir (UB * pcode, vec32 * I1363, U I890, U I1373);
-void hs_0_M_19_10__simv_daidir (UB * pcode, vec32 * I1006);
-void hs_0_M_20_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_21_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_22_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_23_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_24_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_25_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_26_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_27_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_28_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_29_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_30_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_31_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_32_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_33_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_34_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_35_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_36_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_37_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_38_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_39_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_40_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_41_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_42_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_21__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_43_11__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_44_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_45_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_46_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_47_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_48_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_49_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_50_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_51_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_52_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_53_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_54_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_55_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_55_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_56_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_56_5__simv_daidir (UB * pcode, UB val);
-void hs_0_M_57_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_58_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_59_0__simv_daidir (UB * pcode, scalar val);
-void hs_0_M_60_21__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_60_0__simv_daidir (UB * pcode, vec32 * I1006, U I915);
-void hs_0_M_60_6__simv_daidir (UB * pcode, scalar val, U I890);
-void hs_0_M_60_7__simv_daidir (UB * pcode, vec32 * I1363, U I890, U I1373);
-void hs_0_M_60_10__simv_daidir (UB * pcode, vec32 * I1006);
-void hsG_0__0 (struct dummyq_struct * I1289, EBLK * I1283, U I685);
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef __cplusplus
- }
-#endif
-#endif /*__DO_RMAHDR_*/
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmapats.m b/DA4008_V1.2/sim/lvds/csrc/rmapats.m
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmapats.o b/DA4008_V1.2/sim/lvds/csrc/rmapats.o
deleted file mode 100644
index d0c32e0..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmapats.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmapats_mop.o b/DA4008_V1.2/sim/lvds/csrc/rmapats_mop.o
deleted file mode 100644
index a48b8cb..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmapats_mop.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar.c b/DA4008_V1.2/sim/lvds/csrc/rmar.c
deleted file mode 100644
index 21b81fa..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/rmar.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include
-#include
-#include "rmar0.h"
-
-// stubs for Hil functions
-#ifdef __cplusplus
-extern "C" {
-#endif
-void __Hil__Static_Init_Func__(void) {}
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar.h b/DA4008_V1.2/sim/lvds/csrc/rmar.h
deleted file mode 100644
index 77865aa..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/rmar.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _RMAR1_H_
-#define _RMAR1_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __DO_RMAHDR_
-#include "rmar0.h"
-#endif /*__DO_RMAHDR_*/
-
-extern UP rmaFunctionRtlArray[];
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar.o b/DA4008_V1.2/sim/lvds/csrc/rmar.o
deleted file mode 100644
index 1989370..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmar.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar0.h b/DA4008_V1.2/sim/lvds/csrc/rmar0.h
deleted file mode 100644
index 48e8516..0000000
--- a/DA4008_V1.2/sim/lvds/csrc/rmar0.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _RMAR0_H_
-#define _RMAR0_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_0.o b/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_0.o
deleted file mode 100644
index 3663b36..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_0.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_1.o b/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_1.o
deleted file mode 100644
index 0119f49..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmar_llvm_0_1.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/rmar_nd.o b/DA4008_V1.2/sim/lvds/csrc/rmar_nd.o
deleted file mode 100644
index 99927ba..0000000
Binary files a/DA4008_V1.2/sim/lvds/csrc/rmar_nd.o and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/csrc/vcspieces.incr b/DA4008_V1.2/sim/lvds/csrc/vcspieces.incr
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/dprof.dir/t0.conf b/DA4008_V1.2/sim/lvds/dprof.dir/t0.conf
deleted file mode 100644
index b787c00..0000000
--- a/DA4008_V1.2/sim/lvds/dprof.dir/t0.conf
+++ /dev/null
@@ -1,126 +0,0 @@
-#dump IP Tree for debugging
-dumpIPTree : 0
-
-#grouping delta cycles with same q-type
-groupDeltaCycles : 1
-
-#overrite dprof report (without _ suffix
-overriteReport : 0
-
-#not creating profiling directory
-noDir : 0
-
-#dump internal configs in timeline report
-dumpConfig : 0
-
-#enable diagnostics for dynamic interval changings
-diagDynInterval : 0
-
-#not generate file report (directy output instead)
-noFileReport : 0
-
-#plot execution completion graph
-plotECG : 0
-
-#show fgp master simulation time
-fgpDesignCheck : 0
-
-#show just exclusive event execution time
-showOldExclEvtTime : 0
-
-#trace events scheduling
-trace.eventSched : 0
-
-#trace event cost in each sim-time
-trace.eachSimTime : 0
-
-#trace event cost in all sim-time
-trace.allSimTime : 0
-
-#trace data cost in events
-trace.dataCost : 0
-
-#trace vpd changes for in events
-trace.vpd : 0
-
-#number of cycles to be skipped before tracking most active simulation cycles
-numSkipCycles : 0
-
-#simluation time when to start profiling
-startSimTime : 0
-
-#directory of control file
-ctrlFileDir : ./
-
-#help in tuning busy-wait time profiling
-minBusyWaitCnt : 128
-
-#minimum micro-seconds for simulation time range (default:500000)
-minRangeSize : 500000
-
-#minimum cost (in percentage) for event cost reporting (default:0.5%%)
-minEventCostReport : 0.1
-
-#number of high fan-out events reported (default:1024)
-numHighFanOutEvents : 1024
-
-#try to merge events before simluation finishes, so to improve reporting performance
-mergeEvents : 1
-
-#test the consitency of events counter between light-dprof and dprof
-testLight : 0
-
-#count the events have been elaborated in simulation time
-countElabEBlks : 0
-
-#don't wrap PEBLKs (for testing only)
-noWrapPEBlks : 0
-
-#report event cost
-reportEventCost : 0
-
-#debug mode for eblk thunk
-debugEBlkThunk : 0
-
-#max number of events in report
-maxNumEventsInReport : 50
-
-#start time to trace event
-traceEventStart : -1
-
-#number of cycles to trace event (default:1024)
-traceEventCycles : 1024
-
-#report exclusive clk-load
-exclReportClkLoad : 1
-
-#debug execlusive events report
-debugExclEvts : 0
-
-#use cpu cycles in exclusive report (for debug only)
-useCpuCyclesinExclReport : 0
-
-#max detla cycles allowed (profiling will be shut down if exceeded)
-maxDeltaNum : 1000000
-
-#show dummy exclusive events
-showDummyExclEvts : 0
-
-#report global locks
-reportGlobalLocks : 0
-
-#report only exclusive events (for debug)
-reportOnlyExclEvts : 0
-
-#give warning message if having uknown events (for test only)
-warnOnUnknownEvts : 0
-
-#report UVM time profile
-uvmtpc : 0
-
-#report UVM time profile tb reactive as boundary
-uvmtpc_tbr : 0
-
-#report UVM time profile ler as boundary
-uvmtpc_ler : 0
-
diff --git a/DA4008_V1.2/sim/lvds/dprof.dir/timeline.txt b/DA4008_V1.2/sim/lvds/dprof.dir/timeline.txt
deleted file mode 100644
index b778cfc..0000000
--- a/DA4008_V1.2/sim/lvds/dprof.dir/timeline.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-# time : 2026-03-13:18:07:28
-# tag : shbyang_cryo1_t1773396448_p117831_pp117830
-# time_precision : 1 ps
-# legends : epc - average events executed per simulation cycle
-# : cycles - number of simulation cycles
-# : sim-time - actual simulation timestamp
-# : total - total thousand events executed in the simulation time range
-# : cpu-time - actual cpu time used (in milli-seconds)
-# : %cpu - cpu utilization ratio (cpu-time/real-time)
-#######################################
-# DProf Simulation Timeline Report #
-#######################################
-# epc cycles sim-time-range total cpu-time
- 493 1 [0,0] 0.49 63.56
- 4 1024 [5000,3425200] 5.11 1.52
- 4 1024 [3430000,6840000] 4.78 1.31
- 4 1024 [6845000,10255000] 4.78 1.30
- 4 1024 [10255200,13665200] 4.78 1.31
- 4 1024 [13670000,17080000] 4.78 1.29
- 4 1024 [17085000,20495000] 4.78 1.35
- 4 1024 [20495200,23905200] 4.78 0.49
- 4 1024 [23910000,27320000] 4.78 0.40
- 4 1024 [27325000,30735000] 4.78 0.42
- 4 1024 [30735200,34145200] 4.78 0.39
- 4 1024 [34150000,37560000] 4.78 0.41
- 4 1024 [37565000,40975000] 4.78 0.40
- 4 1024 [40975200,44385200] 4.78 0.40
- 4 1024 [44390000,47800000] 4.78 0.41
- 4 1024 [47805000,51215000] 4.78 0.41
- 4 1024 [51215200,54625200] 4.78 0.54
- 4 1024 [54630000,58040000] 4.78 0.61
- 4 1024 [58045000,61455000] 4.78 0.53
- 4 1024 [61455200,64865200] 4.78 0.40
- 4 1024 [64870000,68280000] 4.78 0.41
- 4 1024 [68285000,71695000] 4.78 0.40
- 4 1024 [71695200,75105200] 4.78 0.41
- 4 1024 [75110000,78520000] 4.78 0.40
- 4 1024 [78525000,81935000] 4.78 0.40
- 4 1024 [81935200,85345200] 4.78 0.41
- 4 1024 [85350000,88760000] 4.78 0.42
- 4 1024 [88765000,92175000] 4.78 0.41
- 4 1024 [92175200,95585200] 4.78 0.40
- 4 1024 [95590000,99000000] 4.78 0.40
- 8 1024 [99005000,102095100] 8.80 0.73
- 15 1024 [102095200,104655100] 16.10 1.01
- 16 1024 [104655200,107425200] 17.22 1.49
- 17 1024 [107430000,110080000] 17.51 1.27
- 15 1024 [110085000,112640000] 16.02 1.01
- 17 1024 [112645000,115215000] 17.84 1.20
- 6 1024 [115215200,118095000] 6.55 0.55
- 10 1024 [118095200,121080000] 10.25 0.70
- 15 1024 [121085000,123645100] 15.84 1.02
- 11 1024 [123645200,126735000] 12.04 0.89
- 4 114 [126735200,127115000] 0.56 0.17
diff --git a/DA4008_V1.2/sim/lvds/dprof.txt b/DA4008_V1.2/sim/lvds/dprof.txt
deleted file mode 100644
index 5a8e97d..0000000
--- a/DA4008_V1.2/sim/lvds/dprof.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-# DProf Simulation Summary Report
-# vcs-version: O-2018.09-SP2_Full64
-# build-date: Feb 28 2019 22:34:30
-# file-generation-time: Fri Mar 13 18:07:28 2026
-# tag: shbyang_cryo1_t1773396448_p117831_pp117830
------------------------------------
-end-sim-time: 127115000 ps
-total-cycles: 40,051
-elapsed-time(s): 0.11 // since simulation time 0
-cpu-time(s): 0.09
-cpu-perf(eps): 3038K // average events executed per second in cpu time (higher is better)
------------------------------------
-total-events: 278,146
-events-per-cycle: 6
-events-per-second: 3038K
-events-cpu-time(s): 0.09
------------------------------------
-========= Events Per Cycle ========
------------------------------------
- Events Events% Time(s) Time% SimCycles AvgTimePerCycle(micro-seconds)
-EPC>=100K: 0 0.0% 0.00 0.0% 0 0.00
-EPC[10K,100K): 0 0.0% 0.00 0.0% 0 0.00
-EPC[1K,10K): 0 0.0% 0.00 0.0% 0 0.00
-EPC[100,1K): 2,435 0.9% 0.00 1.7% 20 21.83
-EPC[10,100): 116,831 42.1% 0.01 28.2% 3,835 1.93
-EPC<10: 158,387 57.0% 0.02 70.2% 36,195 0.51
-Time-0: 493 NA 0.05 NA 1 46414.47
-
diff --git a/DA4008_V1.2/sim/lvds/my_signal.rc b/DA4008_V1.2/sim/lvds/my_signal.rc
deleted file mode 100644
index f2d7ded..0000000
--- a/DA4008_V1.2/sim/lvds/my_signal.rc
+++ /dev/null
@@ -1,69 +0,0 @@
-Magic 271485
-Revision Verdi_O-2018.09-SP2
-
-; Window Layout
-viewPort 0 27 1920 392 229 65
-
-; File list:
-; openDirFile [-d delimiter] [-s time_offset] [-rf auto_bus_rule_file] path_name file_name
-openDirFile -d / "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb"
-
-; file time scale:
-; fileTimeScale ### s|ms|us|ns|ps
-
-; signal spacing:
-signalSpacing 5
-
-; windowTimeUnit is used for zoom, cursor & marker
-; waveform viewport range
-zoom 96583796.885331 119223090.909886
-cursor 106045200.000000
-marker 0.000000
-
-; user define markers
-; userMarker time_pos marker_name color linestyle
-; visible top row signal index
-top 4
-; marker line index
-markerPos 15
-
-; event list
-; addEvent event_name event_expression
-; curEvent event_name
-
-
-
-COMPLEX_EVENT_BEGIN
-
-
-COMPLEX_EVENT_END
-
-
-
-; toolbar current search type
-; curSTATUS search_type
-curSTATUS ByChange
-
-
-addGroup "Basic"
-activeDirFile "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb"
-addSignal -h 15 /TB/clk
-addSignal -h 15 -holdScope rst_n
-addSignal -h 15 -UNSIGNED -HEX -holdScope serial_in[3:0]
-addSignal -h 15 -holdScope train_ready
-addSignal -h 15 -holdScope link_down
-addGroup "SRAM"
-addSignal -h 15 /TB/wr_addr[12:0]
-addSignal -h 15 -holdScope wr_data[511:0]
-addSignal -h 15 -holdScope wr_en
-addSignal -h 15 -holdScope byte_mask[63:0]
-addGroup "STATUS"
-addSignal -h 15 /TB/crc_error
-addSignal -h 15 -holdScope train_status[31:0]
-addSignal -h 15 -holdScope frame_status[31:0]
-addSignal -h 15 -holdScope always_on
-addGroup "G4"
-
-; getSignalForm Scope Hierarchy Status
-; active file of getSignalForm
-
diff --git a/DA4008_V1.2/sim/lvds/novas.conf b/DA4008_V1.2/sim/lvds/novas.conf
deleted file mode 100644
index cd315f9..0000000
--- a/DA4008_V1.2/sim/lvds/novas.conf
+++ /dev/null
@@ -1,453 +0,0 @@
-[qBaseWindowStateGroup]
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1M\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1M\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\xe\0\0\0\xcb\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1S\0\0\x2\xa6\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x6\xfc\x1\0\0\0\x1\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3g\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\size=@Size(1017 706)
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_x=424
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_y=240
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_height=706
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\size=@Size(1017 794)
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_x=602
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_y=297
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_height=794
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\size=@Size(1017 794)
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_x=602
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_y=297
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\geometry_height=794
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\VERDI_LAST_RUN_LAYOUT\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\0\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\0\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x1e\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1P\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\0\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\0\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\0\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\0\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\1\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\1\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\1\Layout="@ByteArray(\0\0\0\xff\0\0\0\x1\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x5\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1i\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\1\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\1\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\1\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\2\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\2\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\2\Layout="@ByteArray(\0\0\0\xff\0\0\0\x2\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x5\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1i\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\0\0k\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\2\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\2\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\2\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\3\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\3\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\3\Layout="@ByteArray(\0\0\0\xff\0\0\0\x3\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x5\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1i\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\3\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\3\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\3\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\3\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\4\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\4\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\4\Layout="@ByteArray(\0\0\0\xff\0\0\0\x4\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x5\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1i\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\4\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\4\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\4\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\4\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\5\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\5\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\5\Layout="@ByteArray(\0\0\0\xff\0\0\0\x5\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x5\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1i\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\5\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\5\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\5\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_x=0
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_y=0
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\5\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\6\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\6\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\6\Layout="@ByteArray(\0\0\0\xff\0\0\0\x6\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\6\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\6\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\6\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_x=357
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_y=162
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\6\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\7\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\7\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\7\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\7\Layout="@ByteArray(\0\0\0\xff\0\0\0\a\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x37\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\7\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\7\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\7\size=@Size(1017 706)
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_x=257
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_y=231
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\7\geometry_height=706
-Verdi_1\qBaseWindowNextStateGroup\8\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowNextStateGroup\8\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false
-Verdi_1\qBaseWindowNextStateGroup\8\ProductVersion=201809
-Verdi_1\qBaseWindowNextStateGroup\8\Layout="@ByteArray(\0\0\0\xff\0\0\0\b\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowNextStateGroup\8\isNestedWindow=0
-Verdi_1\qBaseWindowNextStateGroup\8\isVisible=true
-Verdi_1\qBaseWindowNextStateGroup\8\size=@Size(1017 794)
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_x=602
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_y=297
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_width=1017
-Verdi_1\qBaseWindowNextStateGroup\8\geometry_height=794
-
-[QwMainWindow]
-window\Verdi_1\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\Verdi_1\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\x2Z\0\0\x1)\0\0\x6\x66\0\0\x4y\0\0\x2\x64\0\0\x1V\0\0\x6\\\0\0\x4o\0\0\0\0\0\0)
-window\Verdi_1\menubar=true
-window\Verdi_1\splitters\tbvConstrDbgSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x8d\0\0\0\x8d\x1\0\0\0\x6\x1\0\0\0\x1)
-window\Verdi_1\splitters\tbvConstrRerandSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0G\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvConstrOriginSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0!\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\ThreadPane\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x37\0\0\0\x37\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvInteractiveSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvVSimSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1f\0\0\0\x1f\x1\0\0\0\x6\x1\0\0\0\x2)
-window\Verdi_1\splitters\tbvTBHSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0-\0\0\0?\x1\0\0\0\x6\x1\0\0\0\x2)
-window\nWave_2\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\x3\xf9\0\0\0\xfb\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2<\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\x96\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x3@\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3\x32\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x3\xa7\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x3\xd5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-window\nWave_2\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\x3\xf8\0\0\x1G\0\0\0\0\0\0\0\x1b\0\0\x3\xf8\0\0\x1G\0\0\0\0\0\0)
-window\nWave_2\menubar=true
-window\nWave_2\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\x1\x1\x1\0\0\0\x1\0\0\0\0\x2)
-window\nWave_2\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe5\0\0\x3\x14\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0\x41\0\0\0\x1\0\0\x2\xd0\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe5\0\0\x6\x98\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1\x1\0\0\0\x1\0\0\0\0\x1)
-window\nWave_2\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0O\0\0\0\xa3\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x1)
-window\nWave_2\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2)
-
-[qBaseWindow_saveRestoreSession_group]
-10=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses
-
-[qDockerWindow_C]
-Verdi_1\position.x=602
-Verdi_1\position.y=297
-Verdi_1\width=1017
-Verdi_1\height=794
diff --git a/DA4008_V1.2/sim/lvds/novas.rc b/DA4008_V1.2/sim/lvds/novas.rc
deleted file mode 100644
index 37e34aa..0000000
--- a/DA4008_V1.2/sim/lvds/novas.rc
+++ /dev/null
@@ -1,1315 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[FileBrowser]
-nWaveRestoreRCDirHistory = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc\""
-[Form]
-version = Verdi_O-2018.09-SP2
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-Wave_getsignal_form_font = -f COURIER12
-Text_annotFont = Helvetica_M_R_10
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-openFileDlg = 649,304,602,483
-restoreSigDlg = 233,171,551,438
-saveSigDlg = 674,352,551,386
-QwUserAskDlg = 958,672,324,134
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses
-2 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VCS
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[TestBenchBrowser]
--showUVMDynamicHierTreeWin = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_BLACK
-hdlPslComment = ID_BLACK
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = 602 297 1017 794 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-scope_to_save_with_macro
-open_file_dir
-open_rc_file_dir
-getSignalForm = 0 0 800 479 100 30 100 30
-viewPort = 0 27 1017 301 229 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busXLayer = -c ID_RED5
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-RecentFile1 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc\""
-RecentFile2 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb\""
-open_file_time_range = FALSE
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-NameRule =
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 0 27 1017 301 229 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/lvds/novas_dump.log b/DA4008_V1.2/sim/lvds/novas_dump.log
deleted file mode 100644
index bad90d2..0000000
--- a/DA4008_V1.2/sim/lvds/novas_dump.log
+++ /dev/null
@@ -1,393 +0,0 @@
-#######################################################################################
-# log primitive debug message of FSDB dumping #
-# This is for R&D to analyze when there are issues happening when FSDB dump #
-#######################################################################################
-ANF: vcsd_get_serial_mode_status('./simv: undefined symbol: vcsd_get_serial_mode_status')
-ANF: vcsd_enable_sva_success_callback('./simv: undefined symbol: vcsd_enable_sva_success_callback')
-ANF: vcsd_disable_sva_success_callback('./simv: undefined symbol: vcsd_disable_sva_success_callback')
-ANF: vcsd_get_power_scope_name('./simv: undefined symbol: vcsd_get_power_scope_name')
-ANF: vcsd_begin_no_value_var_info('./simv: undefined symbol: vcsd_begin_no_value_var_info')
-ANF: vcsd_end_no_value_var_info('./simv: undefined symbol: vcsd_end_no_value_var_info')
-ANF: vcsd_remove_xprop_merge_mode_callback('./simv: undefined symbol: vcsd_remove_xprop_merge_mode_callback')
-ANF: vhpi_get_cb_info('./simv: undefined symbol: vhpi_get_cb_info')
-ANF: vhpi_free_handle('./simv: undefined symbol: vhpi_free_handle')
-ANF: vhpi_fetch_vcsd_handle('./simv: undefined symbol: vhpi_fetch_vcsd_handle')
-ANF: vhpi_fetch_vpi_handle('./simv: undefined symbol: vhpi_fetch_vpi_handle')
-ANF: vhpi_has_verilog_parent('./simv: undefined symbol: vhpi_has_verilog_parent')
-ANF: vhpi_is_verilog_scope('./simv: undefined symbol: vhpi_is_verilog_scope')
-ANF: scsd_xprop_is_enabled('./simv: undefined symbol: scsd_xprop_is_enabled')
-ANF: scsd_xprop_sig_is_promoted('./simv: undefined symbol: scsd_xprop_sig_is_promoted')
-ANF: scsd_xprop_int_xvalue('./simv: undefined symbol: scsd_xprop_int_xvalue')
-ANF: scsd_xprop_bool_xvalue('./simv: undefined symbol: scsd_xprop_bool_xvalue')
-ANF: scsd_xprop_enum_xvalue('./simv: undefined symbol: scsd_xprop_enum_xvalue')
-ANF: scsd_xprop_register_merge_mode_cb('./simv: undefined symbol: scsd_xprop_register_merge_mode_cb')
-ANF: scsd_xprop_delete_merge_mode_cb('./simv: undefined symbol: scsd_xprop_delete_merge_mode_cb')
-ANF: scsd_xprop_get_merge_mode('./simv: undefined symbol: scsd_xprop_get_merge_mode')
-ANF: scsd_thread_get_info('./simv: undefined symbol: scsd_thread_get_info')
-ANF: scsd_thread_vc_init('./simv: undefined symbol: scsd_thread_vc_init')
-ANF: scsd_master_set_delta_sync_cbk('./simv: undefined symbol: scsd_master_set_delta_sync_cbk')
-ANF: scsd_fgp_get_fsdb_cores('./simv: undefined symbol: scsd_fgp_get_fsdb_cores')
-ANF: msvEnableDumpingMode('./simv: undefined symbol: msvEnableDumpingMode')
-ANF: msvGetVersion('./simv: undefined symbol: msvGetVersion')
-ANF: msvGetInstProp('./simv: undefined symbol: msvGetInstProp')
-ANF: msvIsSpiceEngineReady('./simv: undefined symbol: msvIsSpiceEngineReady')
-ANF: msvSetAddProbeCallback('./simv: undefined symbol: msvSetAddProbeCallback')
-ANF: msvGetInstHandle('./simv: undefined symbol: msvGetInstHandle')
-ANF: msvGetProbeByInst('./simv: undefined symbol: msvGetProbeByInst')
-ANF: msvGetSigHandle('./simv: undefined symbol: msvGetSigHandle')
-ANF: msvGetProbeBySig('./simv: undefined symbol: msvGetProbeBySig')
-ANF: msvGetProbeInfo('./simv: undefined symbol: msvGetProbeInfo')
-ANF: msvRelease('./simv: undefined symbol: msvRelease')
-ANF: msvSetVcCallbackFunc('./simv: undefined symbol: msvSetVcCallbackFunc')
-ANF: msvCheckVcCallback('./simv: undefined symbol: msvCheckVcCallback')
-ANF: msvAddVcCallback('./simv: undefined symbol: msvAddVcCallback')
-ANF: msvRemoveVcCallback('./simv: undefined symbol: msvRemoveVcCallback')
-ANF: msvGetLatestValue('./simv: undefined symbol: msvGetLatestValue')
-ANF: msvSetEndofSimCallback('./simv: undefined symbol: msvSetEndofSimCallback')
-ANF: msvIgnoredProbe('./simv: undefined symbol: msvIgnoredProbe')
-ANF: msvGetThruNetInfo('./simv: undefined symbol: msvGetThruNetInfo')
-ANF: msvFreeThruNetInfo('./simv: undefined symbol: msvFreeThruNetInfo')
-ANF: PI_ace_get_output_time_unit('./simv: undefined symbol: PI_ace_get_output_time_unit')
-ANF: PI_ace_sim_sync('./simv: undefined symbol: PI_ace_sim_sync')
-ANF: msvGetRereadInitFile('./simv: undefined symbol: msvGetRereadInitFile')
-ANF: msvSetBeforeRereadCallback('./simv: undefined symbol: msvSetBeforeRereadCallback')
-ANF: msvSetAfterRereadCallback('./simv: undefined symbol: msvSetAfterRereadCallback')
-ANF: msvSetForceCallback('./simv: undefined symbol: msvSetForceCallback')
-ANF: msvSetReleaseCallback('./simv: undefined symbol: msvSetReleaseCallback')
-ANF: msvGetForceStatus('./simv: undefined symbol: msvGetForceStatus')
-ANF: vhdi_dt_get_type('./simv: undefined symbol: vhdi_dt_get_type')
-ANF: vhdi_dt_get_key('./simv: undefined symbol: vhdi_dt_get_key')
-ANF: vhdi_dt_get_vhdl_enum_info('./simv: undefined symbol: vhdi_dt_get_vhdl_enum_info')
-ANF: vhdi_dt_get_vhdl_physical_info('./simv: undefined symbol: vhdi_dt_get_vhdl_physical_info')
-ANF: vhdi_dt_get_vhdl_array_info('./simv: undefined symbol: vhdi_dt_get_vhdl_array_info')
-ANF: vhdi_dt_get_vhdl_record_info('./simv: undefined symbol: vhdi_dt_get_vhdl_record_info')
-ANF: vhdi_def_traverse_module('./simv: undefined symbol: vhdi_def_traverse_module')
-ANF: vhdi_def_traverse_scope('./simv: undefined symbol: vhdi_def_traverse_scope')
-ANF: vhdi_def_traverse_variable('./simv: undefined symbol: vhdi_def_traverse_variable')
-ANF: vhdi_def_get_module_id_by_vhpi('./simv: undefined symbol: vhdi_def_get_module_id_by_vhpi')
-ANF: vhdi_def_get_handle_by_module_id('./simv: undefined symbol: vhdi_def_get_handle_by_module_id')
-ANF: vhdi_def_get_variable_info_by_vhpi('./simv: undefined symbol: vhdi_def_get_variable_info_by_vhpi')
-ANF: vhdi_def_free('./simv: undefined symbol: vhdi_def_free')
-ANF: vhdi_ist_traverse_scope('./simv: undefined symbol: vhdi_ist_traverse_scope')
-ANF: vhdi_ist_traverse_variable('./simv: undefined symbol: vhdi_ist_traverse_variable')
-ANF: vhdi_ist_convert_by_vhpi('./simv: undefined symbol: vhdi_ist_convert_by_vhpi')
-ANF: vhdi_ist_clone('./simv: undefined symbol: vhdi_ist_clone')
-ANF: vhdi_ist_free('./simv: undefined symbol: vhdi_ist_free')
-ANF: vhdi_ist_hash_key('./simv: undefined symbol: vhdi_ist_hash_key')
-ANF: vhdi_ist_compare('./simv: undefined symbol: vhdi_ist_compare')
-ANF: vhdi_ist_get_value_addr('./simv: undefined symbol: vhdi_ist_get_value_addr')
-ANF: vhdi_set_scsd_callback('./simv: undefined symbol: vhdi_set_scsd_callback')
-ANF: vhdi_cbk_set_force_callback('./simv: undefined symbol: vhdi_cbk_set_force_callback')
-ANF: vhdi_trigger_init_force('./simv: undefined symbol: vhdi_trigger_init_force')
-ANF: vhdi_ist_check_scsd_callback('./simv: undefined symbol: vhdi_ist_check_scsd_callback')
-ANF: vhdi_ist_add_scsd_callback('./simv: undefined symbol: vhdi_ist_add_scsd_callback')
-ANF: vhdi_ist_remove_scsd_callback('./simv: undefined symbol: vhdi_ist_remove_scsd_callback')
-ANF: vhdi_ist_get_scsd_user_data('./simv: undefined symbol: vhdi_ist_get_scsd_user_data')
-ANF: vhdi_add_time_change_callback('./simv: undefined symbol: vhdi_add_time_change_callback')
-ANF: vhdi_get_real_value_by_value_addr('./simv: undefined symbol: vhdi_get_real_value_by_value_addr')
-ANF: vhdi_get_64_value_by_value_addr('./simv: undefined symbol: vhdi_get_64_value_by_value_addr')
-ANF: vhdi_xprop_inst_is_promoted('./simv: undefined symbol: vhdi_xprop_inst_is_promoted')
-ANF: vdi_ist_convert_by_vhdi('./simv: undefined symbol: vdi_ist_convert_by_vhdi')
-ANF: vhdi_ist_get_module_id('./simv: undefined symbol: vhdi_ist_get_module_id')
-ANF: vhdi_refine_foreign_scope_type('./simv: undefined symbol: vhdi_refine_foreign_scope_type')
-ANF: vhdi_flush_callback('./simv: undefined symbol: vhdi_flush_callback')
-ANF: vhdi_set_orig_name('./simv: undefined symbol: vhdi_set_orig_name')
-ANF: vhdi_set_dump_pt('./simv: undefined symbol: vhdi_set_dump_pt')
-ANF: vhdi_get_fsdb_option('./simv: undefined symbol: vhdi_get_fsdb_option')
-ANF: vhdi_fgp_get_mode('./simv: undefined symbol: vhdi_fgp_get_mode')
-ANF: vhdi_node_register_composite_var('./simv: undefined symbol: vhdi_node_register_composite_var')
-ANF: vhdi_node_analysis('./simv: undefined symbol: vhdi_node_analysis')
-ANF: vhdi_node_id('./simv: undefined symbol: vhdi_node_id')
-ANF: vhdi_node_ist_check_scsd_callback('./simv: undefined symbol: vhdi_node_ist_check_scsd_callback')
-ANF: vhdi_node_ist_add_scsd_callback('./simv: undefined symbol: vhdi_node_ist_add_scsd_callback')
-ANF: vhdi_node_ist_get_value_addr('./simv: undefined symbol: vhdi_node_ist_get_value_addr')
-VCS compile option:
- option[0]: ./simv
- option[1]: sync:busywait
- option[2]: -Xdprof=timeline
- option[3]: -l
- option[4]: /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
- option[5]: -Mcc=gcc
- option[6]: -Mcplusplus=g++
- option[7]: -Masflags=
- option[8]: -Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[9]: -Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
- option[10]: -Mldflags= -rdynamic
- option[11]: -Mout=simv
- option[12]: -Mamsrun=
- option[13]: -Mvcsaceobjs=
- option[14]: -Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
- option[15]: -Mexternalobj=
- option[16]: -Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
- option[17]: -Mcrt0=
- option[18]: -Mcrtn=
- option[19]: -Mcsrc=
- option[20]: -Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl
- option[21]: -l
- option[22]: compile.log
- option[23]: -full64
- option[24]: -j8
- option[25]: +lint=TFIPC-L
- option[26]: +v2k
- option[27]: -debug_access+pp
- option[28]: +vpi
- option[29]: +vcsd1
- option[30]: +itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
- option[31]: -lca
- option[32]: -q
- option[33]: -timescale=1ns/1ps
- option[34]: +nospecify
- option[35]: -cm
- option[36]: line+cond+fsm+tgl+branch
- option[37]: -cm_dir
- option[38]: ./coverage/simv.vdb
- option[39]: -picarchive
- option[40]: -P
- option[41]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
- option[42]: -fsdb
- option[43]: -sverilog
- option[44]: -gen_obj
- option[45]: -f
- option[46]: filelist_vlg.f
- option[47]: +incdir+./../../rtl/define
- option[48]: +incdir+./../../rtl/qubitmcu
- option[49]: +incdir+./../../model
- option[50]: -load
- option[51]: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/libnovas.so:FSDBDumpCmd
- option[52]: timescale=1ns/1ps
-Chronologic Simulation VCS Release O-2018.09-SP2_Full64
-Linux 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64
-CPU cores: 96
-Limit information:
-======================================
-cputime unlimited
-filesize unlimited
-datasize unlimited
-stacksize 8194 kbytes
-coredumpsize 0 kbytes
-memoryuse unlimited
-vmemoryuse unlimited
-descriptors 4096
-memorylocked 64 kbytes
-maxproc 4096
-======================================
-(Special)Runtime environment variables:
-
-Runtime environment variables:
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-VNCDESKTOP=cryo1:17 (shbyang)
-MGC_PDF_REDER=evince
-XDG_SESSION_ID=c34
-SSH_AGENT_PID=24257
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-HOSTNAME=cryo1
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-CDSROOT=/opt/cadence/IC618
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-HOST=cryo1
-TERM=xterm-256color
-XDG_MENU_PREFIX=gnome-
-VTE_VERSION=5204
-SHELL=/bin/bash
-HISTSIZE=1000
-MAKEFLAGS=sim=rtl
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/b5b6a33d_fc39_42b4_a104_3738461c290a
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-CDS_LOAD_ENV=CWD
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-QTDIR=/usr/lib64/qt-3.3
-QTINC=/usr/lib64/qt-3.3/include
-sim=rtl
-MENTOR_HOME=/opt/mentor
-IMSETTINGS_MODULE=none
-QT_GRAPHICSSYSTEM_CHECKED=1
-GROUP=cryo
-USER=shbyang
-MAKEOVERRIDES=${-*-command-variables-*-}
-LD_LIBRARY_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/shared/pkgs/icv/tools/calibre_client/lib/64
-LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
-GNOME_TERMINAL_SERVICE=:1.1458
-W3264_NO_HOST_CHECK=1
-CDS=/opt/cadence/IC618
-HOSTTYPE=x86_64-linux
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-MAKELEVEL=1
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SNPSLMD_LICENSE_FILE=27050@cryo1
-MFLAGS=
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-GNOME_SHELL_SESSION_MODE=classic
-GENUS_HOME=/opt/cadence/GENUS152
-MAIL=/var/spool/mail/shbyang
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-PATH=/opt/compiler/V0P100:/opt/synopsys/fpga/K-2015.09/bin:/opt/synopsys/vc_stat/vc_static/V-2023.12/bin:/opt/synopsys/wv/N-2017.12-SP2/bin:/opt/synopsys/hspice/N-2017.12-SP2/hspice/bin:/opt/synopsys/idq/O-2018.06-SP1/linux64/iddq/bin:/opt/synopsys/txs/O-2018.06-SP1/bin:/opt/synopsys/lc/O-2018.06-SP1/bin:/opt/synopsys/starrc/O-2018.06-SP1/bin:/opt/synopsys/fm/L-2016.03-SP1/bin:/opt/synopsys/pwr/O-2018.06-SP3/bin:/opt/synopsys/pts/O-2018.06-SP1/bin:/opt/synopsys/syn/O-2018.06-SP1/bin:/opt/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve/bin:/opt/synopsys/vcs-mx/O-2018.09-SP2/bin:/opt/synopsys/scl/2018.06/linux64/bin:/opt/xilinx/Vivado/2019.2/bin:/opt/xilinx/DocNav:/usr/local/git/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/shbyang/.local/bin:/home/shbyang/bin:/opt/cadence/IC618/tools/bin:/opt/cadence/IC618/tools/dfII/bin:/opt/cadence/IC618/tools/plot/bin:/opt/cadence/SPECTRE181/bin:/opt/cadence/SPECTRE181/tools/bin:/opt/cadence/INNOVUS181/bin:/opt/cadence/INNOVUS181/tools/bin:/opt/cadence/GENUS152/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/INCISIVE152/bin:/opt/cadence/INCISIVE152/tools/bin:/opt/cadence/INCISIVE152/tools.lnx86/bin:/opt/cadence/INCISIVE152/tools/dfII/bin:/opt/cadence/INCISIVE152/tools.lnx86/dfII/bin:/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/bin:/opt/xilinx/Vivado/2019.2//bin:/opt/xilinx/Vivado/2019.2//bin/unwrapped/lnx64.o/
-SPECTRE_DEFAULTS=-E
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-QT_IM_MODULE=ibus
-_=./simv
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-CDS_SPECTRERF_FBENABLE=1
-CADENCE_DIR=/opt/cadence/IC618
-PWD=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds
-CDSDIR=/opt/cadence/IC618
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-XMODIFIERS=@im=ibus
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-LANG=C
-VRST_HOME=/opt/cadence/INCISIVE152
-CDSHOME=/opt/cadence/IC618
-CDS_Netlisting_Mode=Analog
-SYNOPSYS=/opt/synopsys
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-AMS_ENABLE_NOISE=YES
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-HISTCONTROL=ignoredups
-DBUS_STARTER_BUS_TYPE=session
-SHLVL=6
-HOME=/home/shbyang
-OSTYPE=linux
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-CDS_AUTO_64BIT=ALL
-CADHOME=/opt/cadence
-VENDOR=unknown
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-LOGNAME=shbyang
-MACHTYPE=x86_64
-QTLIB=/usr/lib64/qt-3.3/lib
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-MOZILLA_HOME=/usr/bin/firefox
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-SCL_HOME=/opt/synopsys/scl/2018.06
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-CDS_ENABLE_VMS=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-DISPLAY=unix:17
-XDG_RUNTIME_DIR=/run/user/1019
-CDS_LIC_ONLY=1
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-CDS_ROOT=/opt/cadence/IC618
-XILINX_HOME=/opt/xilinx
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-XDG_CURRENT_DESKTOP=GNOME
-CDS_SPECTRE_FBENABLE=1
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-CDS_INST_DIR=/opt/cadence/IC618
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-COLORTERM=truecolor
-VCS_HEAP_EXEC=true
-VCS_PATHMAP_PRELOAD_DONE=1
-VCS_STACK_EXEC=true
-VCS_EXEC_DONE=1
-LC_ALL=C
-DVE=/opt/synopsys/vcs-mx/O-2018.09-SP2/gui/dve
-SPECMAN_OUTPUT_TO_TTY=1
-Runtime command line arguments:
-argv[0]=./simv
-argv[1]=sync:busywait
-argv[2]=-Xdprof=timeline
-argv[3]=-l
-302 profile - 100
- CPU/Mem usage: 0.050 sys, 0.210 user, 282.95M mem
-303 Fri Mar 13 18:07:28 2026
-304 pliAppInit
-305 FSDB_GATE is set.
-306 FSDB_RTL is set.
-307 Enable Parallel Dumping.
-308 pliAppMiscSet: New Sim Round
-309 pliEntryInit
-310 LIBSSCORE=found /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUXAMD64/libsscore_vcs201809.so through $NOVAS_HOME setting.
-311 FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-312 (C) 1996 - 2019 by Synopsys, Inc.
-313 FSDB_VCS_ENABLE_FAST_VC is enable
-314 sps_call_fsdbAutoSwitchDumpfile_main_vd at 0 : ../../sim/lvds/TB.sv(22)
-315 sps_call_fsdbAutoSwitchDumpfile at 0 : ../../sim/lvds/TB.sv(22)
-316 argv[0]: (500)
-317 argv[1]: (./verdplus.fsdb)
-318 argv[2]: (1000000)
-319 *Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-320 *Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-321 *Verdi* : Enable automatic switching of the FSDB file.
-322 *Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-323 *Verdi* : Create FSDB file './verdplus_000.fsdb'
-324 compile option from '/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/vcs_rebuild'.
-325 "vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+pp' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1"
-326 *Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-327 *Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-328 sps_call_fsdbDumpvars_vd_main at 0 : ../../sim/lvds/TB.sv(23)
-329 [spi_vcs_vd_ppi_create_root]: no upf option
-330 FSDB dumper cannot dump UPF related power signal ($power_tree): no ppiPowerNetwork.
-331 *Verdi* : Begin traversing the scopes, layer (0).
-332 *Verdi* : End of traversing.
-333 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.060 sys, 0.220 user, 378.18M mem
- incr: 0.010 sys, 0.010 user, 7.70M mem
- accu: 0.010 sys, 0.010 user, 7.70M mem
- accu incr: 0.010 sys, 0.010 user, 7.70M mem
-
- Count usage: 800 var, 522 idcode, 181 callback
- incr: 800 var, 522 idcode, 181 callback
- accu: 800 var, 522 idcode, 181 callback
- accu incr: 800 var, 522 idcode, 181 callback
-334 Fri Mar 13 18:07:28 2026
-335 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.060 sys, 0.220 user, 379.24M mem
- incr: 0.000 sys, 0.000 user, 1.05M mem
- accu: 0.010 sys, 0.010 user, 8.76M mem
- accu incr: 0.000 sys, 0.000 user, 1.05M mem
-
- Count usage: 800 var, 522 idcode, 181 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 800 var, 522 idcode, 181 callback
- accu incr: 0 var, 0 idcode, 0 callback
-336 Fri Mar 13 18:07:28 2026
-337 sps_call_fsdbDumpMDA_vd_main at 0 : ../../sim/lvds/TB.sv(24)
-338 *Verdi* : Begin traversing the MDAs, layer (0).
-339 *Verdi* : Enable +mda and +packedmda dumping.
-340 *Verdi* : End of traversing the MDAs.
-341 pliAppHDL_DumpVarComplete traverse var: profile -
- CPU/Mem usage: 0.060 sys, 0.220 user, 379.32M mem
- incr: 0.000 sys, 0.000 user, 0.08M mem
- accu: 0.000 sys, 0.000 user, 0.08M mem
- accu incr: 0.000 sys, 0.000 user, 0.08M mem
-
- Count usage: 1908 var, 1630 idcode, 188 callback
- incr: 1108 var, 1108 idcode, 7 callback
- accu: 1108 var, 1108 idcode, 7 callback
- accu incr: 1108 var, 1108 idcode, 7 callback
-342 Fri Mar 13 18:07:28 2026
-343 pliAppHDL_DumpVarComplete: profile -
- CPU/Mem usage: 0.060 sys, 0.220 user, 379.32M mem
- incr: 0.000 sys, 0.000 user, 0.00M mem
- accu: 0.000 sys, 0.000 user, 0.08M mem
- accu incr: 0.000 sys, 0.000 user, 0.00M mem
-
- Count usage: 1908 var, 1630 idcode, 188 callback
- incr: 0 var, 0 idcode, 0 callback
- accu: 1108 var, 1108 idcode, 7 callback
- accu incr: 0 var, 0 idcode, 0 callback
-344 Fri Mar 13 18:07:28 2026
-345 End of simulation at 127115000
-346 Fri Mar 13 18:07:28 2026
-347 Begin FSDB profile info:
-348 FSDB Writer : bc1(26514) bcn(38140) mtf/stf(0/0)
-FSDB Writer elapsed time : flush(0.012084) io wait(0.000000) theadpool wait(0.000000) target functin(0.000000)
-FSDB Writer cpu time : MT Compression : 0
-349 End FSDB profile info
-350 Parallel profile - Flush:4 Expand:0 ProduceWait:0 ConsumerWait:0 BlockUsed:0
-351 ProduceTime:0.344292616 ConsumerTime:0.000000000 Buffer:64MB
-352 SimExit
-353 Sim process exit
diff --git a/DA4008_V1.2/sim/lvds/sim.log b/DA4008_V1.2/sim/lvds/sim.log
deleted file mode 100644
index ea3792e..0000000
--- a/DA4008_V1.2/sim/lvds/sim.log
+++ /dev/null
@@ -1,61 +0,0 @@
-[dprof-info] generating timeline profile dprof.dir/timeline.txt
-Chronologic VCS simulator copyright 1991-2018
-Contains Synopsys proprietary information.
-Compiler version O-2018.09-SP2_Full64; Runtime version O-2018.09-SP2_Full64; Mar 13 18:07 2026
-*Verdi* Loading libsscore_vcs201809.so
-FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019
-(C) 1996 - 2019 by Synopsys, Inc.
-*Verdi* FSDB: The switch FSDB file size might not match the input size (500MB) because of performance concerns.
-*Verdi* FSDB: To have the FSDB file size match the input size (500MB), set the FSDB_ENV_PRECISE_AUTOSWITCH environment, though the dumping performance might decrease.
-*Verdi* : Enable automatic switching of the FSDB file.
-*Verdi* : (Filename='./verdplus', Limit Size=500MB, File Amount=1000000).
-*Verdi* : Create FSDB file './verdplus_000.fsdb'
-*Verdi* : Create the file './verdplus.log' to log the time range of each FSDB file.
-*Verdi* : Create virtual FSDB file './verdplus.vf' to log each FSDB file.
-*Verdi* : Begin traversing the scopes, layer (0).
-*Verdi* : End of traversing.
-*Verdi* : Begin traversing the MDAs, layer (0).
-*Verdi* : Enable +mda and +packedmda dumping.
-*Verdi* : End of traversing the MDAs.
-========================================
-Testbench started at 0
-========================================
-Phase 1: Training with correct patterns...
-Link ready at 104675000
-Phase 2: Sending a correct frame...
-WRITE: addr=291 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000003a0000002a0000001a00000000000000000000000000000000000000000000000 mask=fffffffffff00000
-Write detected: addr=292 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000013a0000012a0000011a0000010a000000fa000000ea000000da000000ca000000b mask=0000000fffffffff
-Error: "../../sim/lvds/TB.sv", 311: TB: at time 106695200 ps
-Unexpected write address: 292
-Error: "../../sim/lvds/TB.sv", 312: TB: at time 106695200 ps
-Byte mask mismatch: 0000000fffffffff
-Error: "../../sim/lvds/TB.sv", 313: TB: at time 106695200 ps
-Byte mask high part not zero: 0000000f
-Correct frame write verified.
-WRITE: addr=292 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000013a0000012a0000011a0000010a000000fa000000ea000000da000000ca000000b mask=0000000fffffffff
-Phase 3: Sending a frame with bad CRC...
-WRITE: addr=291 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000003a0000002a0000001a0000000a000000fa000000ea000000da000000ca000000b mask=fffffffffff00000
-CRC error detected at 109615000
-WRITE: addr=292 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000013a0000012a0000011a0000010a000000fa000000ea000000da000000ca000000b mask=0000000fffffffff
-CRC_ERROR pulse at 109625000
-Link down as expected.
-Phase 4: Re-training...
-Link ready again.
-WRITE: addr=291 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000003a0000002a0000001a0000000a000000fa000000ea000000da000000ca000000b mask=fffffffffff00000
-WRITE: addr=292 data=a000000aa0000009a0000008a0000007a0000006a0000005a0000004a0000013a0000012a0000011a0000010a000000fa000000ea000000da000000ca000000b mask=0000000fffffffff
-Phase 5: Testing delay_tap adjustment...
-Final delay_tap = 3
-Phase 6: Testing with descrambler enabled (header not scrambled)...
-Link ready for scrambled data.
-WRITE: addr=291 data=a000000aa0000009b0000009b0000008b0000007b0000006b0000005b0000004b0000003b0000002b0000001b0000000a000000ea000000da000000ca000000b mask=00ffffffffff0000
-Scrambled test passed (no CRC error).
-========================================
-Testbench finished at 127115000
-========================================
-$finish called from file "../../sim/lvds/TB.sv", line 463.
-$finish at simulation time 127115000
-[dprof-info] generating dprof summary report in dprof.txt
- V C S S i m u l a t i o n R e p o r t
-Time: 127115000 ps
-CPU Time: 0.340 seconds; Data structure size: 0.1Mb
-Fri Mar 13 18:07:28 2026
diff --git a/DA4008_V1.2/sim/lvds/simv b/DA4008_V1.2/sim/lvds/simv
deleted file mode 100755
index 03dd951..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/.daidir_complete b/DA4008_V1.2/sim/lvds/simv.daidir/.daidir_complete
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/.normal_done b/DA4008_V1.2/sim/lvds/simv.daidir/.normal_done
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/.vcs.timestamp b/DA4008_V1.2/sim/lvds/simv.daidir/.vcs.timestamp
deleted file mode 100644
index fe91f36..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/.vcs.timestamp
+++ /dev/null
@@ -1,177 +0,0 @@
-0
-44
-+incdir+./../../model
-+incdir+./../../rtl/define
-+incdir+./../../rtl/qubitmcu
-+itf+/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-+lint=TFIPC-L
-+nospecify
-+v2k
-+vcsd1
-+vpi
--Mamsrun=
--Masflags=
--Mcc=gcc
--Mcfl= -pipe -fPIC -O -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--Mcplusplus=g++
--Mcrt0=
--Mcrtn=
--Mcsrc=
--Mexternalobj=
--Mldflags= -rdynamic
--Mobjects= /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
--Mout=simv
--Msaverestoreobj=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcs_save_restore_new.o
--Msyslibs=/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl
--Mvcsaceobjs=
--Mxcflags= -pipe -fPIC -I/opt/synopsys/vcs-mx/O-2018.09-SP2/include
--P
--cm
--cm_dir
--debug_access+pp
--f filelist_vlg.f
--fsdb
--full64
--gen_obj
--l
--lca
--picarchive
--q
--sverilog
--timescale=1ns/1ps
-./coverage/simv.vdb
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcs1
-/opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-compile.log
-line+cond+fsm+tgl+branch
-110
-sysc_uni_pwd=/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds
-starRC_HOME=/opt/synopsys/starrc/O-2018.06-SP1
-sim=rtl
-XMODIFIERS=@im=ibus
-XILINX_VIVADO=/opt/xilinx/Vivado/2019.2
-XILINX_HOME=/opt/xilinx
-XDG_SESSION_ID=c34
-XDG_RUNTIME_DIR=/run/user/1019
-XDG_MENU_PREFIX=gnome-
-XDG_DATA_DIRS=/home/shbyang/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
-XDG_CURRENT_DESKTOP=GNOME
-WV_HOME=/opt/synopsys/wv/N-2017.12-SP2
-W3264_NO_HOST_CHECK=1
-VTE_VERSION=5204
-VRST_HOME=/opt/cadence/INCISIVE152
-VNCDESKTOP=cryo1:17 (shbyang)
-VMR_MODE_FLAG=64
-VIVADO_HOME=/opt/xilinx/Vivado/2019.2/
-VERDI_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-VENDOR=unknown
-VC_STATIC_HOME=/opt/synopsys/vc_stat/vc_static/V-2023.12
-VCS_MX_HOME_INTERNAL=1
-VCS_MODE_FLAG=64
-VCS_LOG_FILE=compile.log
-VCS_LCAMSG_PRINT_OFF=1
-VCS_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2
-VCS_DEPTH=0
-VCS_ARG_ADDED_FOR_TMP=1
-VCS_ARCH=linux64
-UNAME=/bin/uname
-TXS_HOME=/opt/synopsys/txs/O-2018.06-SP1
-TOOL_HOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64
-SYN_HOME=/opt/synopsys/syn/O-2018.06-SP1
-SYNOPSYS=/opt/synopsys
-SSH_AUTH_SOCK=/run/user/1019/keyring/ssh
-SSH_AGENT_PID=24257
-SPECTRE_HOME=/opt/cadence/SPECTRE181
-SPECTRE_DEFAULTS=-E
-SPECMAN_HOME=/opt/cadence/INCISIVE152/components/sn
-SPECMAN_DIR=/opt/cadence/INCISIVE152/components/sn
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/24088,unix/unix:/tmp/.ICE-unix/24088
-SCRNAME=vcs
-SCRIPT_NAME=vcs
-SCL_HOME=/opt/synopsys/scl/2018.06
-QT_IM_MODULE=ibus
-QT_GRAPHICSSYSTEM_CHECKED=1
-QTLIB=/usr/lib64/qt-3.3/lib
-QTINC=/usr/lib64/qt-3.3/include
-QTDIR=/usr/lib64/qt-3.3
-PWR_HOME=/opt/synopsys/pwr/O-2018.06-SP3
-PT_HOME=/opt/synopsys/pts/O-2018.06-SP1
-OVA_UUM=0
-OSTYPE=linux
-OA_UNSUPPORTED_PLAT=linux_rhel50_gcc44x
-NOVAS_HOME=/opt/synopsys/verdi/Verdi_O-2018.09-SP2
-MOZILLA_HOME=/usr/bin/firefox
-MGLS_LICENSE_FILE=/opt/mentor/license/license.dat
-MGC_PDF_REDER=evince
-MGC_LIB_PATH=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11/lib
-MGC_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-MGC_CALIBRE_SAVE_ALL_RUNSET_VALUES=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_SAVE_MESSENGER_CELL=1
-MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED=1
-MFLAGS=
-MENTOR_HOME=/opt/mentor
-MAKEOVERRIDES=${-*-command-variables-*-}
-MAKELEVEL=1
-MAKEFLAGS=sim=rtl
-LESSOPEN=||/usr/bin/lesspipe.sh %s
-LC_HOME=/opt/synopsys/lc/O-2018.06-SP1
-LC_ALL=C
-INNOVUS_HOME=/opt/cadence/INNOVUS181
-INCISIVE_HOME=/opt/cadence/INCISIVE152
-IMSETTINGS_MODULE=none
-IMSETTINGS_INTEGRATE_DESKTOP=yes
-IDQ_HOME=/opt/synopsys/idq/O-2018.06-SP1
-HSPICE_HOME=/opt/synopsys/hspice/N-2017.12-SP2
-HOSTTYPE=x86_64-linux
-HISTCONTROL=ignoredups
-GROUP=cryo
-GNOME_TERMINAL_SERVICE=:1.1458
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/b5b6a33d_fc39_42b4_a104_3738461c290a
-GNOME_SHELL_SESSION_MODE=classic
-GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-GENUS_HOME=/opt/cadence/GENUS152
-FPGA_HOME=/opt/synopsys/fpga/K-2015.09
-FM_HOME=/opt/synopsys/fm/L-2016.03-SP1
-DBUS_STARTER_BUS_TYPE=session
-DBUS_STARTER_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pbYbSoHCDo,guid=6bec37f851a0ec63831138606819dc51
-COLORTERM=truecolor
-CDS_SPECTRE_FBENABLE=1
-CDS_SPECTRERF_FBENABLE=1
-CDS_ROOT=/opt/cadence/IC618
-CDS_Netlisting_Mode=Analog
-CDS_LOAD_ENV=CWD
-CDS_LIC_ONLY=1
-CDS_LIC_FILE=/opt/cadence/license/license.dat
-CDS_INST_DIR=/opt/cadence/IC618
-CDS_ENABLE_VMS=1
-CDS_AUTO_64BIT=ALL
-CDSROOT=/opt/cadence/IC618
-CDSHOME=/opt/cadence/IC618
-CDSDIR=/opt/cadence/IC618
-CDS=/opt/cadence/IC618
-CALIBRE_HOME=/opt/mentor/Calibre2019/aoj_cal_2019.3_15.11
-CALIBRE_ENABLE_SKILL_PEXBA_MODE=1
-CADHOME=/opt/cadence
-CADENCE_DIR=/opt/cadence/IC618
-AMS_ENABLE_NOISE=YES
-0
-11
-1773384753 ../../sim/lvds/TB.sv
-1773384753 ../../rtl/lvds/ulink_rx.sv
-1773384753 ../../rtl/fifo/syn_fwft_fifo.v
-1773384753 ../../rtl/memory/bhv_spram.v
-1773384753 ../../rtl/memory/spram.v
-1773384753 ../../rtl/comm/sirv_gnrl_dffs.v
-1773384753 ../../rtl/comm/sirv_gnrl_xchecker.v
-1551421444 /opt/synopsys/vcs-mx/O-2018.09-SP2/include/cm_vcsd.tab
-1773384753 filelist_vlg.f
-1550753332 /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-1551421246 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/vcsdp_lite.tab
-4
-1551422344 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvirsim.so
-1551421792 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/liberrorinf.so
-1551421768 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libsnpsmalloc.so
-1551421789 /opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/libvfs.so
-1773396448 simv.daidir
--1 partitionlib
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/_117681_archive_1.so b/DA4008_V1.2/sim/lvds/simv.daidir/_117681_archive_1.so
deleted file mode 100755
index 9a93463..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/_117681_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/_117699_archive_1.so b/DA4008_V1.2/sim/lvds/simv.daidir/_117699_archive_1.so
deleted file mode 100755
index 5a6f04e..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/_117699_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/_117700_archive_1.so b/DA4008_V1.2/sim/lvds/simv.daidir/_117700_archive_1.so
deleted file mode 100755
index 8ee6cbc..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/_117700_archive_1.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/binmap.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/binmap.sdb
deleted file mode 100644
index 83151ca..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/binmap.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/build_db b/DA4008_V1.2/sim/lvds/simv.daidir/build_db
deleted file mode 100755
index 94b240b..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/build_db
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+pp' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' -static_dbgen_only -daidir=$1 2>&1
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_bcode.db b/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_bcode.db
deleted file mode 100644
index 80340d4..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_bcode.db
+++ /dev/null
@@ -1,34 +0,0 @@
-sid sirv_gnrl_xchecker
-bcid 0 0 WIDTH,32 CALL_ARG_VAL,2,0 WIDTH,1 XOR_REDUCE OPT_CONST_4ST,1,1 NEQU RET
-sid ulink_descrambler_32
-bcid 1 0 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,31 SLICE,1 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,28 WIDTH,4 SLICE,1 WIDTH,1 XOR_REDUCE WIDTH,32 CONCATENATE,2 RET
-bcid 2 1 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND WIDTH,32 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 XOR CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 RET
-sid syn_fwft_fifo
-bcid 3 0 WIDTH,6 CALL_ARG_VAL,2,0 WIDTH,4 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 LNOT AND WIDTH,5 CONCATENATE,2 WIDTH,6 PAD ADD RET
-bcid 4 1 WIDTH,6 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_NEQU RET
-bcid 5 2 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,62 WIDTH,1 M_GT RET
-bcid 6 3 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,59 WIDTH,1 M_GT RET
-bcid 7 4 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,510 WIDTH,1 M_GT RET
-bcid 8 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,128 CONST,0,0 CALL_ARG_VAL,3,0 MITECONDNOINSTR,4 RET
-bcid 9 6 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,0 WIDTH,1 M_EQU RET
-bcid 10 7 WIDTH,7 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_LT RET
-bcid 11 8 WIDTH,7 CALL_ARG_VAL,2,0 WIDTH,32 PAD OPT_CONST,17 WIDTH,1 M_LT RET
-sid TB
-bcid 12 0 WIDTH,20 CALL_ARG_VAL,2,0 OPT_CONST,10000 WIDTH,1 M_NEQU RET
-bcid 13 1 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 OPT_CONST,9999 WIDTH,1 M_EQU AND RET
-bcid 14 2 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,20 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 15 3 WIDTH,2 CALL_ARG_VAL,2,0 OPT_CONST,2 WIDTH,1 M_EQU CALL_ARG_VAL,3,0 OR RET
-bcid 16 4 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND RET
-bcid 17 5 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,5 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 18 6 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1751543404 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1751543404 WIDTH,1 M_EQU AND AND RET
-bcid 19 7 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,3,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND WIDTH,32 CALL_ARG_VAL,4,0 OPT_CONST,1702390132 WIDTH,1 M_EQU WIDTH,32 CALL_ARG_VAL,5,0 OPT_CONST,1702390132 WIDTH,1 M_EQU AND AND RET
-bcid 20 8 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,20 CALL_ARG_VAL,3,0 WIDTH,32 PAD WIDTH,20 CALL_ARG_VAL,4,0 WIDTH,32 PAD OPT_CONST,2 SUBTRACT WIDTH,1 M_EQU AND RET
-bcid 21 9 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 CALL_ARG_VAL,3,0 ADD MITECONDNOINSTR,4 RET
-bcid 22 10 WIDTH,32 CALL_ARG_VAL,2,0 OPT_CONST,-1128481604 WIDTH,1 M_EQU RET
-bcid 23 11 WIDTH,1 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 AND OPT_CONST,1 CALL_ARG_VAL,4,0 OPT_CONST,0 CALL_ARG_VAL,5,0 OPT_CONST,0 CALL_ARG_VAL,6,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 24 12 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,5 CALL_ARG_VAL,3,0 OPT_CONST,31 WIDTH,1 M_EQU AND CALL_ARG_VAL,4,0 OR RET
-bcid 25 13 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,3 MULTI_CONCATENATE,1,3 RET
-bcid 26 14 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,16 OPT_CONST,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,16 CALL_ARG_VAL,4,0 OPT_CONST,1 ADD CALL_ARG_VAL,4,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET
-bcid 27 15 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,4 MULTI_CONCATENATE,1,4 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,4 MULTI_CONCATENATE,1,4 NOT OR RET
-bcid 28 16 WIDTH,16 CALL_ARG_VAL,2,0 WIDTH,1 CALL_ARG_VAL,3,0 WIDTH,16 MULTI_CONCATENATE,1,16 OR RET
-bcid 29 17 WIDTH,1 CALL_ARG_VAL,2,0 WIDTH,32 CALL_ARG_VAL,3,0 CALL_ARG_VAL,4,0 WIDTH,1 M_NEQU AND RET
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_dummy_file b/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_dummy_file
deleted file mode 100644
index 9ec9235..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/cc/cc_dummy_file
+++ /dev/null
@@ -1,2 +0,0 @@
-Dummy_file
-Missing line/file info
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/cgname.json b/DA4008_V1.2/sim/lvds/simv.daidir/cgname.json
deleted file mode 100644
index 11b1766..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/cgname.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "sirv_gnrl_dffr_0004": [
- "sirv_gnrl_dffr_0004",
- "dAYpP",
- "module",
- 18
- ],
- "sirv_gnrl_dfflr_0002": [
- "sirv_gnrl_dfflr_0002",
- "D5nSS",
- "module",
- 5
- ],
- "sirv_gnrl_dffr_0002": [
- "sirv_gnrl_dffr_0002",
- "qCch4",
- "module",
- 16
- ],
- "std": [
- "std",
- "reYIK",
- "module",
- 1
- ],
- "TB": [
- "TB",
- "sH4Fc",
- "module",
- 28
- ],
- "sirv_gnrl_dfflr_0005": [
- "sirv_gnrl_dfflr_0005",
- "N9yP9",
- "module",
- 8
- ],
- "sirv_gnrl_dffl": [
- "sirv_gnrl_dffl",
- "BM4bj",
- "module",
- 12
- ],
- "...MASTER...": [
- "SIM",
- "amcQw",
- "module",
- 29
- ],
- "sirv_gnrl_edffr_0000": [
- "sirv_gnrl_edffr_0000",
- "pyfvI",
- "module",
- 23
- ],
- "sirv_gnrl_ltch": [
- "sirv_gnrl_ltch",
- "UTi0b",
- "module",
- 22
- ],
- "sirv_gnrl_xchecker": [
- "sirv_gnrl_xchecker",
- "CjC7H",
- "module",
- 2
- ],
- "sirv_gnrl_edffr_0001": [
- "sirv_gnrl_edffr_0001",
- "dHTCN",
- "module",
- 24
- ],
- "sirv_gnrl_dffr_0005": [
- "sirv_gnrl_dffr_0005",
- "sF7c0",
- "module",
- 19
- ],
- "sirv_gnrl_dfflr_0004": [
- "sirv_gnrl_dfflr_0004",
- "ty6HF",
- "module",
- 7
- ],
- "ulink_descrambler_32": [
- "ulink_descrambler_32",
- "yuek5",
- "module",
- 26
- ],
- "sirv_gnrl_dfflrs": [
- "sirv_gnrl_dfflrs",
- "ZJgwY",
- "module",
- 3
- ],
- "sirv_gnrl_dfflr_0001": [
- "sirv_gnrl_dfflr_0001",
- "c06YI",
- "module",
- 4
- ],
- "sirv_gnrl_dffr_0000": [
- "sirv_gnrl_dffr_0000",
- "GAFTT",
- "module",
- 15
- ],
- "sirv_gnrl_dfflr_0003": [
- "sirv_gnrl_dfflr_0003",
- "iiu4n",
- "module",
- 6
- ],
- "sirv_gnrl_dfflr_0006": [
- "sirv_gnrl_dfflr_0006",
- "P2v7r",
- "module",
- 9
- ],
- "sirv_gnrl_dffrs": [
- "sirv_gnrl_dffrs",
- "QHiet",
- "module",
- 13
- ],
- "sirv_gnrl_dfflrd": [
- "sirv_gnrl_dfflrd",
- "Uye5v",
- "module",
- 11
- ],
- "sirv_gnrl_dfflr_0007": [
- "sirv_gnrl_dfflr_0007",
- "GKZvJ",
- "module",
- 10
- ],
- "syn_fwft_fifo": [
- "syn_fwft_fifo",
- "gzftm",
- "module",
- 25
- ],
- "sirv_gnrl_dffr": [
- "sirv_gnrl_dffr",
- "Wnd0S",
- "module",
- 14
- ],
- "sirv_gnrl_dffr_0003": [
- "sirv_gnrl_dffr_0003",
- "QH5mS",
- "module",
- 17
- ],
- "crc32": [
- "crc32",
- "T59nH",
- "module",
- 27
- ],
- "sirv_gnrl_dffr_0006": [
- "sirv_gnrl_dffr_0006",
- "MhyM4",
- "module",
- 20
- ],
- "sirv_gnrl_dffr_0007": [
- "sirv_gnrl_dffr_0007",
- "nMT3S",
- "module",
- 21
- ]
-}
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/covg_defs b/DA4008_V1.2/sim/lvds/simv.daidir/covg_defs
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/.version b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/.version
deleted file mode 100644
index ba73ed3..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/.version
+++ /dev/null
@@ -1,4 +0,0 @@
-O-2018.09-SP2_Full64
-Build Date = Feb 28 2019 22:34:30
-RedHat
-Compile Location: /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/AllModulesSkeletons.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/AllModulesSkeletons.sdb
deleted file mode 100644
index b988cc4..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/AllModulesSkeletons.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/HsimSigOptDb.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/HsimSigOptDb.sdb
deleted file mode 100644
index 8fcf63b..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/HsimSigOptDb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/dumpcheck.db b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/dumpcheck.db
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/dve_debug.db.gz b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/dve_debug.db.gz
deleted file mode 100644
index 4a5cb04..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/dve_debug.db.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db
deleted file mode 100755
index bb3b02e..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh -h
-PYTHONHOME=/opt/synopsys/vcs-mx/O-2018.09-SP2/etc/search/pyh
-export PYTHONHOME
-PYTHONPATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export PYTHONPATH
-LD_LIBRARY_PATH=/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib:/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/lib/pylib27
-export LD_LIBRARY_PATH
-/opt/synopsys/vcs-mx/O-2018.09-SP2/linux64/bin/vcsfind_create_index.exe -z "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/./idents_HfVCGe.xml.gz" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/./idents_tapi.xml.gz" -o "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.db_tmp"
-\mv "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.db"
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/check_fsearch_db b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/check_fsearch_db
deleted file mode 100755
index 1ccf475..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/check_fsearch_db
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh -h
-
-FILE_PATH="/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch"
-lockfile="${FILE_PATH}"/lock
-
-FSearch_lock_release() {
- echo "" > /dev/null
-}
-create_fsearch_db_ctrl() {
- if [ -s "${FILE_PATH}"/fsearch.stat ]; then
- if [ -s "${FILE_PATH}"/fsearch.log ]; then
- echo "ERROR building identifier database failed. Check ${FILE_PATH}/fsearch.log"
- else
- cat "${FILE_PATH}"/fsearch.stat
- fi
- return
- fi
- nohup "$1" > "${FILE_PATH}"/fsearch.log 2>&1 193>/dev/null &
- MY_PID=`echo $!`
- BUILDER="pid ${MY_PID} ${USER}@${hostname}"
- echo "INFO Started building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier."
- echo "INFO Still building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." > "${FILE_PATH}"/fsearch.stat
- return
-}
-
-dir_name=`/bin/dirname "$0"`
-if [ "${dir_name}" = "." ]; then
- cd $dir_name
- dir_name=`/bin/pwd`
-fi
-if [ -d "$dir_name"/../../../../../../../../../../.. ]; then
- cd "$dir_name"/../../../../../../../../../../..
-fi
-
-if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db" ]; then
- if [ ! -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.db" ]; then
- if [ "$#" -eq 1 ] && [ "x$1" == "x-background" ]; then
- trap FSearch_lock_release EXIT
- (
- flock 193
- create_fsearch_db_ctrl "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- exit 193
- ) 193> "$lockfile"
- rstat=$?
- if [ "${rstat}"x != "193x" ]; then
- exit $rstat
- fi
- else
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/.create_fsearch_db"
- if [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
- fi
- elif [ -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then
- rm -f "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat"
- fi
-fi
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/fsearch.stat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_HfVCGe.xml.gz b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_HfVCGe.xml.gz
deleted file mode 100644
index 5fbbb04..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_HfVCGe.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz
deleted file mode 100644
index 29d279e..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/src_files_verilog b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/src_files_verilog
deleted file mode 100644
index 15036f3..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/src_files_verilog
+++ /dev/null
@@ -1,7 +0,0 @@
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_dffs.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/comm/sirv_gnrl_xchecker.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/fifo/syn_fwft_fifo.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/lvds/ulink_rx.sv
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/bhv_spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/rtl/memory/spram.v
-/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/TB.sv
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/topmodules b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/topmodules
deleted file mode 100644
index 515257e..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/topmodules
+++ /dev/null
@@ -1 +0,0 @@
-1YX%
\ No newline at end of file
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/vir.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/vir.sdb
deleted file mode 100644
index 4b5f941..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/debug_dump/vir.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/eblklvl.db b/DA4008_V1.2/sim/lvds/simv.daidir/eblklvl.db
deleted file mode 100644
index f8a481d..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/eblklvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/elabmoddb.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/elabmoddb.sdb
deleted file mode 100644
index 774727d..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/elabmoddb.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/external_functions b/DA4008_V1.2/sim/lvds/simv.daidir/external_functions
deleted file mode 100644
index b76773b..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/external_functions
+++ /dev/null
@@ -1,78 +0,0 @@
-pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppress novas_call_fsdbSuppress - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpon novas_call_fsdbDumpon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpoff novas_call_fsdbDumpoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpflush novas_call_fsdbDumpflush - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbLog novas_call_fsdbLog - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_begin_transaction novas_call_sps_begin_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_end_transaction novas_call_sps_end_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_free_transaction novas_call_sps_free_transaction - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_attribute novas_call_sps_add_attribute - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_update_label novas_call_sps_update_label - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_add_relation novas_call_sps_add_relation - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbWhatif novas_call_fsdbWhatif - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_init novas_call_paa_init - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $paa_sync novas_call_paa_sync - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_interactive novas_call_sps_interactive - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_test novas_call_sps_test - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $ridbDump novas_call_ridbDump - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $sps_flush_file novas_call_sps_flush_file - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDisplay novas_call_fsdbDisplay - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumplimit novas_call_fsdbDumplimit - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMem novas_call_fsdbDumpMem - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemNow novas_call_fsdbDumpMemNow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInScope novas_call_fsdbDumpMemInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDANow novas_call_fsdbDumpMDANow - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAOnChange novas_call_fsdbDumpMDAOnChange - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMDAInScope novas_call_fsdbDumpMDAInScope - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpMemInFile novas_call_fsdbDumpMemInFile - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLon novas_call_fsdbDumpPSLon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPSLoff novas_call_fsdbDumpPSLoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAon novas_call_fsdbDumpSVAon - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSVAoff novas_call_fsdbDumpSVAoff - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpStrength novas_call_fsdbDumpStrength - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpSingle novas_call_fsdbDumpSingle - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpIO novas_call_fsdbDumpIO - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbDumpPattern novas_call_fsdbDumpPattern - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $fsdbSubstituteHier novas_call_fsdbSubstituteHier - - /opt/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab
-pli $dumpports DumpPortsIeeeCALL - DumpPortsMISC
-pli $lsi_dumpports DumpPortsLsiCALL - DumpPortsMISC
-pli $dumpportson DumpPortsOnCALL - DumpPortsMISC
-pli $dumpportsoff DumpPortsOffCALL - DumpPortsMISC
-pli $dumpportsflush DumpPortsFlushCALL - DumpPortsMISC
-pli $simlearn simLearnCall simLearnCheck simLearnMisc
-pli $dumpportsall DumpPortsAllCALL - DumpPortsMISC
-pli $dumpportslimit DumpPortsLimitCALL - DumpPortsMISC
-pli $countdrivers CountDriversCALL - -
-pli $vcsmemprof DMMemProfCALL DMMemProfCheck DMMemProfMISC
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_callgraph.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_callgraph.sdb
deleted file mode 100644
index dde281d..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_callgraph.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_level.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_level.sdb
deleted file mode 100644
index 6a51020..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_rtime_level.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_rtime_level.sdb
deleted file mode 100644
index 6b5b752..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/hslevel_rtime_level.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/hsscan_cfg.dat b/DA4008_V1.2/sim/lvds/simv.daidir/hsscan_cfg.dat
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/indcall.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/indcall.sdb
deleted file mode 100644
index b8e40f1..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/indcall.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117681.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117681.sdb
deleted file mode 100644
index 3188d5b..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117681.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117699.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117699.sdb
deleted file mode 100644
index a859445..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117699.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117700.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117700.sdb
deleted file mode 100644
index 35e5871..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/indcall_117700.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/nsparam.dat b/DA4008_V1.2/sim/lvds/simv.daidir/nsparam.dat
deleted file mode 100644
index 1c1eb11..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/pcc.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/pcc.sdb
deleted file mode 100644
index 0663705..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/pcc.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/pcxpxmr.dat b/DA4008_V1.2/sim/lvds/simv.daidir/pcxpxmr.dat
deleted file mode 100644
index 229151a..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/pcxpxmr.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/prof.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/prof.sdb
deleted file mode 100644
index dc3fab0..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/prof.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.dat b/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.dat
deleted file mode 100644
index bd15b79..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.so b/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.so
deleted file mode 100755
index 61004b2..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/rmapats.so and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/saifNetInfo.db b/DA4008_V1.2/sim/lvds/simv.daidir/saifNetInfo.db
deleted file mode 100644
index 573541a..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/saifNetInfo.db
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/stitch_nsparam.dat b/DA4008_V1.2/sim/lvds/simv.daidir/stitch_nsparam.dat
deleted file mode 100644
index 0357d47..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/stitch_nsparam.dat and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/tt.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/tt.sdb
deleted file mode 100644
index 133b848..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/tt.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117681.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117681.sdb
deleted file mode 100644
index 2ab0f6e..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117681.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117699.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117699.sdb
deleted file mode 100644
index 88a1040..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117699.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117700.sdb b/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117700.sdb
deleted file mode 100644
index 6031626..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/ttIncr_117700.sdb and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcs_rebuild b/DA4008_V1.2/sim/lvds/simv.daidir/vcs_rebuild
deleted file mode 100755
index c91bc83..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/vcs_rebuild
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-# This file is automatically generated by VCS. Any changes you make
-# to it will be overwritten the next time VCS is run.
-vcs '-full64' '-j8' '-sverilog' '+lint=TFIPC-L' '+v2k' '-debug_access+pp' '-lca' '-q' '-timescale=1ns/1ps' '+nospecify' '-l' 'compile.log' '-cm' 'line+cond+fsm+tgl+branch' '-cm_dir' './coverage/simv.vdb' '-f' 'filelist_vlg.f' '+incdir+./../../rtl/define' '+incdir+./../../rtl/qubitmcu' '+incdir+./../../model' 2>&1
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_master_hsim_elabout.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_master_hsim_elabout.db
deleted file mode 100644
index 60c0043..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_master_hsim_elabout.db
+++ /dev/null
@@ -1,691 +0,0 @@
-hsDirType 1
-fHsimDesignHasDebugNodes 15
-fNSParam 1024
-fLargeSizeSdfTest 0
-fHsimDelayGateMbme 0
-fNoMergeDelays 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fSharedMasterElab 0
-hsimLevelizeDone 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimTransUsingdoMpd32 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllXmrs 1
-fHsimMvsimDb 0
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpOffsetData 1
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimCgVectors2Debug 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimAllLevelSame 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimCbkOptDiag 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimOnepass 0
-fHsimStitchNew 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimSeqUdpDbsByteArray 0
-fHsimCoLocate 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimUdpDynElab 0
-fHsimCompressData 4
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimNoSched0Reg 0
-fHsimAmsFusionEnabled 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimBcOpt 1
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimScanDbgPerf 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimDumpMdb 0
-fHsimElabDiag 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCgRt 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimClasses 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fCompressSDF 0
-fDlpSvtbExclElab 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimNoPeekInMdbCell 0
-igetOpcodeSmdPtrLayoutId -1
-igetFieldSmdPtr -1
-fDebugDump 1
-fHsimOrigNodeNames 0
-fHsimCgVectors2VOnly 0
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdOptSVTypes 1
-fHsHasPeUpXmr 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimVectorGates 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgLevelize 0
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 1
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 1
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-fHsimFoldedCell 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimGateEdgeEventSched 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 151652416
-fHsimIslandByIslandFlat1 4
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fSpecifyInDesign 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsimPCSharedLibSpecified 0
-fHsFgpSchedCgUcLoads 1
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsSVNettypePerfOpt 0
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hil_stmts.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hil_stmts.db
deleted file mode 100644
index 66fe5a8..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hil_stmts.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsdef.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsdef.db
deleted file mode 100644
index 6f705b5..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsdef.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_elab.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_elab.db
deleted file mode 100644
index 9d15b58..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_elab.db
+++ /dev/null
@@ -1,1217 +0,0 @@
-psSimBaseName simv
-psLogFileName compile.log
-pDaiDir /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/simv.daidir
-destPath csrc/
-fSharedMaster 0
-fHsimPCSharedLibSpecified 0
-hsMainFileCount 0
-hsMainFileName dummy
-hsAuxFileName dummy
-hsimDlpPartitionFilename 0
-partitionName 6 MASTER
-hsimInitRegValue 3
-fNSParam 1024
-hsim_noschedinl 0
-hsim_hdbs 4096
-eval_order_seq 0
-simorder_light 0
-partialelab 0
-hsim_csdf -2147483648
-fHsimRuntimeElabSdf 0
-fNtcNewSolver 0
-fHsimSdfFileOpt 0
-fHsimTransUsingdoMpd32 0
-hsDirType 1
-fHsimClasses 0
-fHsimPulseMPDelay 1
-fHsimMvsimDb 0
-fHsimMvsimDebug 0
-fHsimAllXmrs 1
-fHsimTaskFuncXmrs 0
-fHsimTaskFuncXmrsDbg 0
-fHsimAllTaskFuncXmrs 0
-fHsimDoXmrProcessing 1
-fNoMergeDelays 0
-uGlblTimeUnit 4
-fHsimAllMtm 0
-fSimprofileNew 0
-fHsimVhVlOpt 0
-fHsimMdbVhVlInputFuseOpt 0
-fHsimMdbVhVlInoutFuseOpt 0
-fHsimMdbVhVlCcnOpt 0
-fHsimVlVhOpt 0
-fHsimVlVhVlOpt 0
-fHsimVlVhBfuseOpt 0
-xpropMergeMode 0
-xpropUnifiedInferenceMode 0
-xpropOverride 0
-isXpropConfigEnabled 0
-fHsimVectorConst 0
-fHsimAllMtmPat 0
-fHsimCertRaptMode 0
-fNewCBSemantics 1
-fSchedAtEnd 0
-fSpecifyInDesign 0
-fHsimDumpFlatData 1
-fHsimCompressDiag 1
-fHsimPowerOpt 0
-fLoopReportElab 0
-fHsimRtl 0
-fHsimCbkOptVec 1
-fHsimDynamicCcnHeur 1
-fHsimPvcs 0
-fHsimPvcsCcn 0
-fHsimOldLdr 0
-fHsimSingleDB 1
-uVfsGcLimit 50
-fHsimCompatSched 0
-fHsimCompatOrder 0
-fHsimDynamicElabForGates 1
-fHsimDynamicElabForVectors 0
-fHsimDynamicElabForVectorsAlways 0
-fHsimDynamicElabForVectorsMinputs 0
-fHsimDeferForceSelTillReElab 0
-fHsimModByModElab 1
-fSvNettRealResType 0
-fHsimExprID 1
-fHsimSequdpon 0
-fHsimDatapinOpt 0
-fHsimExprPrune 0
-fHsimMimoGate 0
-fHsimNewChangeCheckFrankch 1
-fHsimNoSched0Front 0
-fHsimNoSched0FrontForMd 1
-fHsimScalReg 0
-fHsimNtbVl 0
-fHsimICTimeStamp 0
-fHsimICDiag 0
-fHsimNewCSDF 1
-vcselabIncrMode 2
-fHsimMPPackDelay 0
-fHsimMultDriver 0
-fHsimPart 0
-fHsimPrlComp 0
-fHsimPartTest 0
-fHsimTestChangeCheck 0
-fHsimTestFlatNodeOrder 0
-fHsimTestNState 0
-fHsimPartDebug 0
-fHsimPartFlags 0
-fHsimOdeSched0 0
-fHsimNewRootSig 1
-fHsimDisableRootSigModeOpt 0
-fHsimTestRootSigModeOpt 0
-fHsimIncrWriteOnce 0
-fHsimUnifInterfaceStrId 1
-fHsimUnifInterfaceFlow 1
-fHsimUnifInterfaceFlowDiag 0
-fHsimUnifInterfaceFlowXmrDiag 0
-fHsimUnifInterfaceMultiDrvChk 1
-fHsimXVirForGenerateScope 0
-fHsimCongruencyIntTestI 0
-fHsimCongruencySVA 0
-fHsimCongruencySVADbg 0
-fHsimCongruencyLatchEdgeFix 0
-fHsimCongruencyFlopEdgeFix 0
-fHsimCongruencyXprop 0
-fHsimCongruencyXpropFix 0
-fHsimCongruencyXpropDbsEdge 0
-fHsimCongruencyResetRecoveryDbs 0
-fHsimCongruencyClockControlDiag 0
-fHsimCongruencySampleUpdate 0
-fHsimCongruencyFFDbsFix 0
-fHsimCongruency 0
-fHsimCongruencySlave 0
-fHsimCongruencyCombinedLoads 0
-fHsimCongruencyFGP 0
-fHsimDeraceClockDataUdp 0
-fHsimDeraceClockDataLERUpdate 0
-fHsimCongruencyPC 0
-fHsimCongruencyPCInl 0
-fHsimCongruencyPCDbg 0
-fHsimCongruencyPCNoReuse 0
-fHsimCongruencyDumpHier 0
-fHsimCongruencyResolution 0
-fHsimCongruencyEveBus 0
-fHsimHcExpr 0
-fHsCgOptModOpt 0
-fHsCgOptSlowProp 0
-fHsimCcnOpt 1
-fHsimCcnOpt2 1
-fHsimCcnOpt3 0
-fHsimSmdMap 0
-fHsimSmdDiag 0
-fHsimSmdSimProf 0
-fHsimSgdDiag 0
-fHsimRtDiagLite 0
-fHsimRtDiagLiteCevent 100
-fHsimRtDiag 0
-fHsimSkRtDiag 0
-fHsimDDBSRtdiag 0
-fHsimDbg 0
-fHsimCompWithGates 0
-fHsimMdbDebugOpt 0
-fHsimMdbDebugOptP1 0
-fHsimMdbDebugOptP2 0
-fHsimMdbPruneOpt 1
-fHsimMdbMemOpt 0
-hsimRandValue 0
-fHsimSimMemProfile 0
-fHsimSimTimeProfile 0
-fHsimElabMemProfile 0
-fHsimElabTimeProfile 0
-fHsimElabMemNodesProfile 0
-fHsimElabMemAllNodesProfile 0
-fHsimDisableVpdGatesProfile 0
-fHsimFileProfile 0
-fHsimCountProfile 0
-fHsimXmrDefault 1
-fHsimFuseWireAndReg 0
-fHsimFuseSelfDrvLogic 0
-fHsimFuseProcess 0
-fHsimNoStitchDump 0
-fHsimAllExtXmrs 0
-fHsimAllExtXmrsDiag 0
-fHsimAllExtXmrsAllowClkFusing 0
-fHsimPageArray 16383
-fHsimPageControls 16383
-hsDfsNodePageElems 0
-hsNodePageElems 0
-hsFlatNodePageElems 0
-hsGateMapPageElems 0
-hsGateOffsetPageElems 0
-hsGateInputOffsetPageElems 0
-hsDbsOffsetPageElems 0
-hsMinPulseWidthPageElems 0
-hsNodeUpPatternPageElems 0
-hsNodeDownPatternPageElems 0
-hsNodeUpOffsetPageElems 0
-hsNodeEblkOffsetPageElems 0
-hsNodeDownOffsetPageElems 0
-hsNodeUpdateOffsetPageElems 0
-hsSdfOffsetPageElems 0
-fHsimPageAllLevelData 0
-fHsimAggrCg 0
-fHsimViWire 1
-fHsimPcCbOpt 1
-fHsimAmsTunneling 0
-fHsimAmsTunnelingDiag 0
-fHsimAmsNewDrs 0
-fHsimScUpwardXmrNoSplit 1
-fHsimOrigNdbViewOnly 0
-fHsimVcsInterface 1
-fHsimVcsInterfaceAlias 1
-fHsimSVTypesIntf 1
-fUnifiedAssertCtrlDiag 0
-fHsimEnable2StateScal 0
-fHsimDisable2StateScalIbn 0
-fHsimVcsInterfaceAliasDbg 0
-fHsimVcsInterfaceDbg 0
-fHsimVcsVirtIntfDbg 0
-fHsimVcsAllIntfVarMem 0
-fHsimCheckVIDynLoadOffsets 0
-fHsimModInline 1
-fHsimModInlineDbg 0
-fHsimPCDrvLoadDbg 0
-fHsimDrvChk 1
-fHsimRtlProcessingNeeded 0
-fHsimGrpByGrpElab 0
-fHsimGrpByGrpElabMaster 0
-fHsimNoParentSplitPC 0
-fHsimNusymMode 0
-fHsimOneIntfPart 0
-fHsimCompressInSingleDb 2
-fHsimCompressFlatDb 0
-fHsimNoTime0Sched 1
-fHsimMdbVectorizeInstances 0
-fHsimMdbSplitGates 0
-fHsimDeleteInstances 0
-fHsimUserDeleteInstances 0
-fHsimDeleteGdb 0
-fHsimDeleteInstancesMdb 0
-fHsimShortInstMap 0
-fHsimMdbVectorizationDump 0
-fHsimScanVectorize 0
-fHsimParallelScanVectorize 0
-noInstsInVectorization 0
-cHsimNonReplicatedInstances 0
-fHsimScanRaptor 0
-fHsimConfigFileCount 0
-fHsimVectorConstProp 0
-fHsimPromoteParam 0
-fHsimNoVecInRaptor 0
-fRaptorDumpVal 0
-fRaptorVecNodes 0
-fRaptorVecNodes2 0
-fRaptorNonVecNodes 0
-fRaptorBdrNodes 0
-fRaptorVecGates 0
-fRaptorNonVecGates 0
-fRaptorTotalNodesBeforeVect 0
-fRaptorTotalGatesBeforeVect 0
-fHsimCountRaptorBits 0
-fHsimNewEvcd 1
-fHsimNewEvcdMX 0
-fHsimNewEvcdVecRoot 1
-fHsimNewEvcdForce 1
-fHsimNewEvcdTest 0
-fHsimNewEvcdObnDrv 1
-fHsimNewEvcdW 1
-fHsimNewEvcdWTest 0
-fHsimEvcdDbgFlags 0
-fHsimNewEvcdMultiDrvFmt 1
-fHsimDumpElabData 1
-fHsimNoDeposit 0
-fHsimDumpOffsetData 1
-fNoOfsOpt 0
-fFlopGlitchDetect 0
-fHsimClkGlitch 0
-fHsimGlitchDumpOnce 0
-fHsimDynamicElab 1
-fHsimDynamicElabDiag 0
-fHsimPrintPats 1
-fHsimInterpreted 0
-fHsimAggressiveCodegenForDelays 1
-fHsimAggressiveCgNtcDelays 1
-fHsimCgDelaysDiag 0
-fHsimCodegenForVectors 1
-fHsimCgVectors2E 1
-fHsimCgVectors2W 1
-fHsimCgVectors2Cbk 1
-fHsimCgVectors2Force 0
-fHsimCgVectors2Debug 0
-fHsimCgVectors2Diag 0
-fHsimHdlForceInfoDiag 0
-fHsimHdlForceInfo 0
-fHsimCodegenForTcheck 1
-fHsimUdpsched 0
-fHsimUdpTetramax 0
-fHsimUdpDelta 0
-fHsimMasterNodesOpt 0
-fHsimTransOpt 1
-fHsimNoPortOBN 0
-fHsimGateGroup 0
-fHsimOldXmr 0
-fHsimConst 1
-fHsimOptimizeSeqUdp 1
-fHsimOptimizeNotifier 0
-fHsimPrintUdpTable 0
-fHsimConstDelay 0
-fHsimConstForce 0
-fHsimCcnOpt4 0
-fHsimCcnOptDiag 0
-fHsimCcn 1
-fHsimDynamicCcn 0
-fHsimTestBoundaryConditions1 0
-fHsimTestBoundaryConditions2 0
-fHsimTestBoundaryConditions3 0
-fHsimTestElabNodeLimit 0
-fHsimInsertSched0ForLhsSelects 1
-fHsimVectors 1
-fHsimOde 0
-fHsimOdeDynElab 0
-fHsimOdeDynElabDiag 0
-fHsimOdeUdp 0
-fHsimOdeSeqUdp 0
-fHsimOdeSeqUdpXEdge 0
-fHsimOdeSeqUdpDbg 0
-fHsimOdeRmvSched0 0
-fHsimOde4State 0
-fHsimOdeDiag 0
-fHsimOdeWithVecNew 0
-fHsimOdeAcceptDeadGates 0
-fHsimOdeAcceptValue4Loads 0
-fHsimOdeAmdSRLatch 0
-fHsimRmvSched0OnDataOfFlop 0
-fHsimRmvSched0OnMpd 0
-fHsimAllLevelSame 0
-fHsimDbsList 0
-fHsimRtlDbsList 0
-fHsimPePort 0
-fHsimPeXmr 0
-fHsimPePortDiag 0
-fHsimUdpDbs 0
-fHsimCodeShare 0
-fHsimRemoveDbgCaps 0
-fFsdbGateOnepassTraverse 0
-fHsimAllowVecGateInVpd 1
-fHsimAllowAllVecGateInVpd 0
-fHsimAllowUdpInVpd 1
-fHsimAllowAlwaysCombInVpd 1
-fHsimAllowAlwaysCombCmpDvcSimv 0
-fHsimAllowAlwaysCombDbg 0
-fHsimMakeAllP2SPrimary 0
-fHsimMakeAllSeqPrimary 0
-fHsimNoCcnDump 0
-fHsimFsdbProfDiag 0
-fVpdSeqGate 0
-fVpdUseMaxBCode 0
-fVpdHsIntVecGate 0
-fVpdHsCmplxVecGate 0
-fVpdHsVecGateDiags 0
-fSeqGateCodePatch 0
-fVpdLongFaninOpt 0
-fVpdSeqLongFaninOpt 0
-fVpdNoLoopDetect 0
-fVpdNoSeqLoopDetect 0
-fVpdOptAllowConstDriver 0
-fVpdAllowCellReconstruction 0
-fVpdRtlForSharedLib 0
-fRaptorProf 0
-fHsimVpdOptGateMustDisable 0
-fHsimVpdOptGate 1
-fHsimVpdOptDelay 0
-fHsimVpdOptMPDelay 0
-fHsimVpdOptDiag 0
-fHsimVpdOptRtlIncrFix 0
-fHsimVpdOptDiagV 0
-fHsimCbkOptVecWithVcsd 0
-fHsimCbkOptDiag 0
-fHsimByRefIBN 1
-fHsimWireMda 1
-fHsimUniqifyElabDiag 0
-fHsimForceCbkVec 1
-fHsimSplitForceCbkVec 1
-fHsimLowPower 0
-fHsimLowPowerDumpOnly 0
-fHsimLowPowerDiag 0
-fHsimXpropFix 1
-fHsimXpropConfigTrace 0
-fHsimNameBasedInterface 1
-fHsimVcsInterfaceHierDiag 0
-fHsimCbSchedFix 0
-fHsimIncrDebug 0
-fHsimSK 0
-fHsimSharedKernel 1
-fHsimSKIncr 0
-fElabModTimeProfCount 0
-fHsimChangeSharedLib 0
-fHsimNewIncr 1
-fHsimIncrSkip 0
-fHsimSecondCheckMdb 0
-fHsimIntraXmrNotMaster 0
-fHsimExtNodeDiag 0
-fHsimExtIntfXmrDebug 0
-fHsimExtXmrNodeDiag 0
-fPartTopElabModName 0
-fHsimPreResolveXmr 1
-fHsimNoIntfXmrNonMaster 1
-fHsimXmrPropDebug 0
-fHsimXmrElabDebug 0
-fHsimXmrNoMaster 1
-fHsimXmrNoMasterIBIF 1
-fHsimIncrMaster 0
-fHsimEffTest 0
-fHsimIncrTest 0
-fHsimIncrTesting 0
-fHsimOnepass 0
-fHsimPartModSplit 0
-fHsimNoIncrMatch 0
-fHsimMergeOnly 0
-fHsimStitchNew 0
-fHsimCbkOpt 1
-fFrcRelCbk 1
-fPulserrWarn 1
-hsMtmSpec 0
-fprofile 0
-fPreserveDaidir 1
-fHsimLevelize 1
-fHsimSelectLevelize 0
-fHsimSelectEdgeData 0
-fHsimSelectEdgeDataDbg 0
-fHsimSelectEdgeDataSched0 0
-fHsimSelectEdgeDataSanity 0
-fHsimLevelizeFlatNodeLimit 22
-fHsimLevelizeNoSizeLimit 1
-fHsimLevelizeForce 0
-fHsimParallelLevelize 0
-fHsimParallelLevelizeDbg 0
-fHsimLevelizeNoCgDump 0
-fHsimReuseVcs1Sem 0
-semLevelizeVar -1
-fHsimLevelizeDbg 0
-fHsimMinputsPostEval 0
-fHsimSeqUdpDbsByteArray 0
-fHsimHilRtlAny 0
-fHsimHilRtlAll 0
-fHsimCoLocate 0
-fHsimNoinlSched0lq 0
-fHsimUdpOutputOpt 0
-fHsimSeqUdpEblkOpt 0
-fHsimSeqUdpEblkOptDiag 0
-fHsimGateInputAndDbsOffsetsOpt 1
-fHsimRelaxSched0 0
-fHsimLocalVar 0
-fHsimUdpDynElab 0
-fHsimCbDynElab 0
-fHsimCompressData 4
-fHsimIgnoreCaps 0
-fHsimMdbIgnoreCaps 0
-fHsimIgnoreZForDfuse 1
-fHsimIgnoreDifferentCaps 0
-fHsimIgnoreDifferentNStates 0
-fHandleGlitchQC 1
-fGlitchDetectForAllRtlLoads 0
-fHsimAllowFuseOnRegWithMultDrivers 0
-fHsimFuseConstDriversOpt 1
-fHsimMdSchedTr 0
-fHsimIgnoreReElab 0
-fHsimFuseMultiDrivers 0
-fHsimSched0 0
-fHsimPulseFilter 0
-fHsimNoSched0Reg 0
-fHsimAddSched0 0
-fHsimLargeBc 0
-fHsimLargePdbModule 0
-fHsimMMDebug 0
-fHsimMMLimit 0
-hsimMMLimit 0
-fHsimAmsFusionEnabled 0
-fHsimAmsWrealMdrEnabled 0
-fHsimAmsWrealInitValZero 1
-fWrealForce 0
-fHsimCgMarkers 0
-fHsimSplitRmaCode 1
-rmapatsPattCountThreshold 1000
-fHsimElab64 0
-fHsimTestFnn64 0
-fHsimTestDgn64 0
-fHsimRtlDbs 0
-fHsimWakeupId 0
-fHsimPassiveIbn 0
-fHsimInitialConst 0
-fHsimForceRtlDbs 0
-fHsimBcOpt 1
-fHsimBcOptDebug 0
-fHsimBfuseFast 1
-fHsimParallelElab 0
-fHsimParallelElabVcs1 0
-fpicArchive 1
-fCsrcInTmpDir 0
-fHsimInterconFE 1
-fHsimMxOpt 1
-fHsimModpathFE 1
-fHsimPathOnCCN 0
-fHsimOptMPDelayLoad 0
-fHsimTransMPDelay 1
-fLargeSizeSdfTest 0
-fAllMtm 0
-fHsimDelayGateMbme 0
-fHsimDelayGateMbmeOld 0
-fHsimNdb 1
-fHsimNdbDebug 0
-fHsimNdbTest 0
-fHsimGrpByGrpElabIncrTest 0
-fHsimGrpByGrpElabIncrTest2 0
-fHsimTestAggrCg 0
-fHsimOneInputGateAggrCg 0
-fHsimCertitude 0
-fHsimCertRapAutoTest 0
-fHsimRaceDetect 0
-fCheckTcCond 0
-fHsimSimlearnDdce 0
-fHsimSimlearnDdce_diag 0
-fHsimScanOpt 0
-fHsimScanOptPartComp 0
-fHsimHsoptNoScanOpt 0
-fHsimNoScanOptDeadLogic 1
-fHsimScanOptFixForDInSIPath 1
-fHsimNoScanOptForNonScanLoad 0
-fHsimScanOptLoopFix 1
-fHsimScanOptLoopFix2 0
-fHsimScanOptRelaxDbg 0
-fHsimScanOptRelaxDbgDynamic 0
-fHsimScanOptRelaxDbgDynamicPli 0
-fHsimScanOptRelaxDbgDiag 0
-fHsimScanOptRelaxDbgDiagHi 0
-fHsimScanOptNoErrorOnPliAccess 0
-fHsimScanOptTiming 0
-fRelaxIbnSchedCheck 0
-fHsimScanOptNoDumpCombo 0
-fHsimScanOptPrintSwitchState 0
-fHsimScanOptSelectiveSwitchOn 0
-fHsimScanOptSingleSEPliOpt 1
-fHsimScanOptDesignHasDebugAccessOnly 0
-fHsimScanOptPrintPcode 0
-fHsimNettypeOneDrvPerfOpt 0
-fHsimOldNettypeResFnOffset 0
-fHsimScanoptDump 0
-fHsimScanDbgFunc 0
-fHsimScanDbgPerf 0
-fHsimAutoScanSuppWarn 0
-fHsimScanOptAggr 0
-fHsimScanOptFuse 1
-fHsimScanMemOpt 1
-fHsimScanChainOpt 0
-fHsimForceChangeCheck 0
-fHsimFuseConsts 0
-fHsimMemBusOpt 0
-fHsimDefLevelElab 0
-fHsimOneInstElabMods 0
-fHsimOneInstElabModsHeur 1
-fHsimOneInstElabModsAllowDbg 0
-fHsimTopElabMods 0
-fHsimPVCS 0
-fHsimNoStitchMap 0
-fHsimUnifiedModName 0
-fHsimVIIntegrityCheck 0
-fHsimOrigViewType 0
-fHsimXmrDumpFullDR 0
-fHsimXmrDumpDebug 0
-fHsimRTLoopDectEna 0
-fHsimAssertInActive 0
-dGblTeE 1.000000
-dGblTeR 1.000000
-dGblPeE 1.000000
-dGblPeR 1.000000
-fNewdaidirpath 0
-fHsimDelayMbmeCheck 4
-fHsimMdbPartInputLimit 1
-fHsimSdfData 0
-fHsimDesignHasSdfAnnotation 0
-fHsimDesignUsesParallelVcs 0
-fHsimCMEnabled 1
-fGblMSah 0
-fGblMSTe 0
-fGblIntPe 0
-fGblTe 0
-fGblPe 0
-iPulseR 100
-iPulseE 100
-iTransR 100
-iTransE 100
-fPulseOpt 0
-fGblPulseOnD 0
-fGblPulseOnE 0
-fVCSiFlow 0
-fSystemVCSEnabled 1
-fHsimForcedPort 0
-fpicOption 1
-fModelSave 0
-fHsimGenObj 1
-fHsimCbkMemOpt 1
-fHsimCbkMemOptDebug 0
-fHsimMasterModuleOnly 0
-fHsimDumpOriginalFlatNodeNumsMap 0
-fHsimRecordPli 0
-fHsimPlaybackPli 0
-fHsimModByModElabForGates 0
-fHsimMdbOpts 0
-fHsimMdbInlineNew 0
-fHsimMdbSelUdp2Rtl 0
-fHsimMdbUdp2Rtl 0
-fHsimZeroDelayDelta 1
-fHsimMdbUdp2Rtl_3state 0
-fHsimMdbUdp2Rtl_noxedge 0
-fHsimMdbUdp2Rtl_dfsr 0
-fHsimMdbInsertComplexSelect 0
-fHsimMdbNoComplexSelect 0
-fHsimMdbScalarization 0
-fHsimCmplxOperScalarization 0
-fHsimMdbVectorizeInstances2 0
-fHsimMdbVectorizeInstancesCfg 0
-fHsimMdbVectorizeInstDiag 0
-fHsimMdbVectorizeInstances3 0
-fHsimMdbOptimizeSeqUdp 0
-fHsimMdbB2BLatch 0
-fHsimMdbAggr 0
-fHsimMdbGateGroupNew 0
-fHsimMdbUdpGroup 0
-fHsimMdbOptimizeConstants 0
-fHsimMdbDfuse 0
-fHsimMdbBfuse 0
-fHsimMdbDce 0
-fHsimMdbMpopt 0
-fHsimMdbCondMpOpt 0
-fHsimMdbSimplifyMpCond 0
-fHsimDceIgnorecaps 0
-fHsimCondModPathDbs 0
-fHsimCondModPathCompact 0
-fHsimMdbCondMpMerge 0
-fHsimModPathCg 0
-fHsimNoCondModPathCg 0
-fHsimCompactCode 0
-fHsimCondTC 0
-fHsimMacroTC 0
-fHsimCondMPConst 0
-fHsimCondTCConst 0
-fHsimMergeDelay 0
-fHsimDelayOpt 0
-fRemoveDelonTrans 1
-fHsimModPathLoadOpt 1
-fHsimMdbTranOpt 0
-fHsimMdbTranMerge 0
-fHsimRmapatsCsh 0
-fHsimLrmSupply 0
-fHsimNewMbmeFlow 0
-fHsimBackEndInteg 0
-fHsimBackEndIntegCapsOk 0
-fHsimBackEndIntegDiag 0
-fHsimBackEndIntegMaxIbns 1024
-fHsimBackEndIntegDeadObns 0
-fHsimTran2MosDriver 1
-fHsimDumpCcn 0
-fHsimMdbNStateAnalysis 0
-fHsimMdbAdjustWidth 0
-fHsimMdbOptimizeSelects 0
-fHsimMdbScalarizePorts 0
-fHsimMdbOptimizeSelectsHeuristic 1
-fHsimMdbPart 0
-fHsimMdb1006Partition 0
-fHsimVectorPgate 0
-fHsimNoHs 0
-fHsimXmrPartition 0
-fHsimNewPartition 0
-fHsimElabPart 0
-fHsimElabPartThreshHoldDesign 1
-fHsimPMdb 0
-fHsimParitionCellInstNum 1000
-fHsimParitionCellNodeNum 1000
-fHsimParitionCellXMRNum 1000
-fHsimNewPartCutSingleInstLimit 268435455
-fHsimElabModDistNum 0
-fHsimElabPartThreshHoldModule 3000000
-fHsimPCPortPartition 0
-fHsimPortPartition 0
-fHsimMdbHdbsBehavior 0
-fHsimMdbHdbsBehaviorTC 0
-fHsimMdbIbnObnPartition 0
-fHsimMdbDebugOpt0 0
-fHsimMdbClockAnalysis 0
-fHsimMdbMimo 0
-fHsimMdbMimoLite 0
-fHsimMdbMimoAggr 0
-fHsimDumpMdb 0
-fHsimDumpMdbVpd 0
-fHsimElabDiag 0
-fHsimElabMasterDiag 0
-fHsimElabDiagSummary 0
-fHsimElabDiagMn 0
-fHsimElabDiagMnCount 0
-fHsimElabDiagLite 0
-fHsimSimpCollect 0
-fHsimPcodeDiag 0
-fHsimDbsAlwaysBlocks 1
-fHsimPrintNodeMap 0
-fHsimSvAggr 0
-fHsimDynamicFlatNode 0
-fHsimSeqPrimCg 1
-fHsimDiagPats 0
-fHsimDdPats 0
-fHsimPatOpt 3
-fHsimPatInline 0
-fHsimPatOutline 0
-fHsimFastelab 0
-fHsimMacroOpt 0
-fHsimSkipOpt 0
-fHsimSkipOptFanoutlimit 0
-fHsimSkipOptRootlimit 0
-fHsimFuseDelayChains 0
-fFusempchainsFanoutlimit 0
-fFusempchainsDiagCount 0
-fHsimCloadOpt 0
-fHsimNoICDelayPropPwEqDelay 0
-fHsimPrintMopComment 0
-fNewRace 0
-fHsimCgVectorGates 0
-fHsimCgVectorGates1 0
-fHsimCgVectorGates2 0
-fHsimCgVectorGatesNoReElab 0
-fHsimCgScalarGates 0
-fHsimCgScalarGatesExpr 0
-fHsimCgScalarGatesLut 0
-fHsimCgRtl 1
-fHsimCgRtlFilter 0
-fHsimCgRtlDebug 0
-fHsimCgRtlSize 15
-fHsimNewCg 0
-fHsimNewCgRt 0
-fHsimNewCgFg 0
-fHsimNewCgMinput 0
-fHsimNewCgUpdate 0
-fHsimNewCgMP 0
-fHsimNewCgMPRt 0
-fHsimNewCgMPRetain 0
-fHsimNewCgTC 0
-fHsimCgRtlInfra 1
-fHsimGlueOpt 0
-fHsimPGatePatchOpt 0
-fHsimCgNoPic 0
-fHsimElabModCg 0
-fPossibleNullChecks 0
-fHsimProcessNoSplit 1
-fHsimMdbInstDiag 0
-fHsimMdbOptInSchedDelta 0
-fScaleTimeValue 0
-fDebugTimeScale 0
-fPartCompSDF 0
-fHsimNbaGate 1
-fDumpDtviInfoInSC 0
-fDumpSDFBasedMod 1
-fHsimSdfIC 0
-fHsimSdfICOverlap 0
-fHsimSdfICDiag 0
-fHsimSdfICOpt 0
-fHsimMsvSdfInout 0
-fOptimisticNtcSolver 0
-fHsimAllMtm 0
-fHsimAllMtmPat 0
-fHsimSdgOptEnable 0
-fHsimSVTypesRefPorts 0
-fHsimGrpByGrpElabIncr 0
-fHsimGrpByGrpElabIncrDiag 0
-fHsimEvcdTranSeen 0
-fHsimMarkRefereeInVcsElab 0
-fHsimStreamOpFix 1
-fHsimInterface 0
-fHsimNoPruning 0
-fHsimNoVarBidirs 0
-fHsimMxWrapOpt 0
-fHsimMxTopBdryOpt 0
-fHsimAggressiveDce 0
-fHsimDceDebug 1
-fHsimDceDebugUseHeuristics 1
-fHsimMdbUnidirSelects 0
-fHsimMdbNewDebugOpt 0
-fHsimMdbNewDebugOptExitOnError 1
-fHsimNewDebugOptMemDiag 0
-hsGlobalVerboseLevel 0
-fHsimMdbVectorConstProp 1
-fHsimEnableSeqUdpWrite 1
-fHsimDumpMDBOnlyForSeqUdp 0
-fHsimInitRegRandom 0
-fHsimInitRegRandomVcs 1
-fEnableNewFinalStrHash 0
-fEnableNewAssert 1
-fRunDbgDmma 0
-fAssrtCtrlSigChk 1
-fCheckSigValidity 0
-fUniqPriToAstRewrite 0
-fUniqPriToAstCtrl 0
-fAssertcontrolUniqPriNewImpl 0
-fRTLoopDectEna 0
-fCmplLoopDectEna 0
-fHsimMopFlow 1
-fUCaseLabelCtrl 0
-fUniSolRtSvaEna 1
-fUniSolSvaEna 1
-fXpropRtCtrlCallerOnly 0
-fHsimRaptorPart 0
-fHsimEnableDbsMemOpt 1
-fHsimDebugDbsMemOpt 0
-fHsimRenPart 0
-fHsimShortElabInsts 0
-fHsimNoTcSched 0
-fHsimSchedOpt 0
-fHsimXmrAllWires 0
-fHsimXmrDiag 0
-fHsimXmrPort 0
-fHsimFalcon 1
-fHsimGenForProfile 0
-fHsimDumpMdbAll 0
-fHsimDumpMdbRaptor 0
-fHsimDumpMdbGates 0
-fHsimDumpMdbPrune 0
-fHsimDumpMdbInline 0
-fHsimDumpMdbCondTC 0
-fHsimDumpMdbNState 0
-fHsimDumpMdbVhVlInputFuseOpt 0
-fHsimDumpMdbVhVlInoutFuseOpt 0
-fHsimDumpMdbVhVlCcnOpt 0
-fCompressSDF 0
-fHsimDumpMdbSchedDelta 0
-fHsimDumpMdbNoVarBidirs 0
-fHsimDumpMdbScalarize 0
-fHsimDumpMdbVecInst 0
-fHsimDumpMdbVecInst2 0
-fHsimDumpMdbDce 0
-fHsimDumpMdbScanopt 0
-fHsimDumpMdbSelects 0
-fHsimDumpMdbAggr 0
-fHsimDumpMdbOptConst 0
-fHsimDumpMdbVcsInterface 0
-fHsimDumpMdbDfuse 0
-fHsimDumpMdbBfuse 0
-fHsimDumpMdbTranOpt 0
-fHsimDumpMdbOptLoops 0
-fHsimDumpMdbSeqUdp 0
-fHsimDumpMdbMpOpt 0
-fHsimDumpMdbGG 0
-fHsimDumpMdbUdpGG 0
-fHsimDumpMdbMimo 0
-fHsimDumpMdbUdp2rtl 0
-fHsimDumpMdbUdpDelta 0
-fHsimDumpMdbDebugOpt 0
-fHsimDumpMdbSplitGates 0
-fHsimDumpMdb1006Part 0
-fHsimDumpMdbPart 0
-fHsimDumpMdbSimplifyMpCond 0
-fDlpSvtbExclElab 0
-fHsimDumpMdbCondMpMerge 0
-fHsimDumpMdbCondMp 0
-fHsimDumpMdbCondModPathDbs 0
-fHsimSdfAltRetain 0
-fHsimDumpMdbCompress 1
-fHsimDumpMdbSummary 0
-fHsimBfuseOn 1
-fHsimBfuseHeur 0
-fHsimBfuseHash 1
-fHsimSelectCell 0
-fHsimBfuseNoRedundantFanout 1
-fHsimBFuseVectorMinputGates 0
-fHsimBFuseVectorAlways 0
-fHsimDfuseOn 1
-fHsimDumpMdbPruneVpdGates 0
-fHsimGates1209 0
-fHsimCgRtlNoShareSmd 0
-fHsimGenForErSum 0
-fVpdOpt 1
-fHsimMdbCell 0
-fHsimCellDebug 0
-fHsimMdbCellComplexity 1.500000
-fHsimMdbCellHeur 1
-fHsimNoPeekInMdbCell 0
-fDebugDump 1
-fHsimOrigNodeNames 0
-hsimSrcList filelist
-fHsimCgVectors2VOnly 0
-fHsimPortCoerce 0
-fHsimBidirOpt 0
-fHsimCheckLoop 1
-fHsimCheckLoopDiag 0
-fHsimCheckLoopMore 0
-fHsimLoop 1
-fHsimMdbDeltaGate 0
-fHsimMdbDeltaGateAggr 0
-fHsimMdbVecDeltaGate 1
-fHsimVpdOptVfsDB 1
-fHsimMdbPruneVpdGates 1
-fHsimPcPe 0
-fHsimVpdGateOnlyFlag 1
-fHsimMxConnFrc 0
-fHsimNewForceCbkVec 0
-fHsimNewForceCbkVecDiag 0
-fHsimMdbReplaceVpdHighConn 1
-fHsimVpdHighConnReplaced 1
-fHsimVpdOptSVTypes 1
-fHsimDlyInitFrc 0
-fHsimCompactVpdFn 1
-fHsimPIP 0
-fHsimRTLoopDectOrgName 0
-fHsimVpdOptPC 0
-fHsimFusePeXmrFo 0
-fHsimXmrSched 0
-fHsimNoMdg 0
-fHsimUseBidirSelectsInVectorGates 0
-fHsimGates2 0
-fHsimVectorGates 0
-fHsimHilCg 0
-fHsimHilVecAndRtl 0
-fHsimRtlLite 0
-fHsimMdbcgLut 0
-fHsimMdbcgSelective 0
-fHsimVcselabGates 0
-fHsimMdbcgUnidirSel 0
-fHsimMdbcgLhsConcat 0
-fHsimMdbcgSelectSplit 0
-fHsimMdbcgProcessSelSplit 0
-fHsimMdbcgEdgeop 0
-fHsimMdbcgMultiDelayControl 1
-fHsimParGateEvalMode 0
-fHsimDFuseVectors 0
-fHsimDFuseVecIgnoreFrc 0
-fHsimDFuseZero 0
-fHsimDFuseOpt 1
-fHsimAllPortsDiag 0
-fHsimPruneOpt 0
-fHsimSeqUdpPruneWithConstInputs 0
-fHsimSafeDFuse 0
-fHsimVpdOptExpVec 0
-fHsimVpdOptSelGate 1
-fHsimVpdOptSkipFuncPorts 0
-fHsimVpdOptAlways 1
-fHsimVpdOptMdbCell 0
-fHsimVpdOptPartialMdb 1
-fHsimVpdOptPartitionGate 1
-fHsimVpdOptXmr 1
-fHsimVpdOptConst 1
-fHsimVpdOptMoreLevels 1
-fHsimVpdHilRtl 0
-fHsimSWave 0
-fHsimNoSched0InCell 1
-fHsimPartialMdb 0
-hsimPdbLargeOffsetThreshold 1048576
-fHsimFlatCell 0
-fHsimFlatCellLimit 0
-fHsimRegBank 0
-fHsimHmetisMaxPartSize 0
-fHsimHmetisGateWt 0
-fHsimHmetisUbFactor 0
-fHsimHmetis 0
-fHsimHmetisDiag 0
-fHsimRenumGatesForMdbCell 0
-fHsimHmetisMinPart 0
-fHsim2stCell 0
-fHsim2stCellMinSize 0
-fHsimMdbcgDebug 0
-fHsimMdbcgDebugLite 0
-fHsimMdbcgDistrib 0
-fHsimMdbcgSepmem 0
-fHsimMdbcgObjDiag 0
-fHsimMdbcg2stDiag 0
-fHsimMdbcgRttrace 0
-fHsimMdbVectorGateGroup 1
-fHsimMdbProcDfuse 1
-fHsimMdbHilPrune 0
-fHsimNewConstProp 0
-fHsimSignedOp 0
-fHsimVarIndex 0
-fHsimNewMdbNstate 0
-fHsimProcessNstate 0
-fHsimMdbModpathNstate 0
-fHsimPgateConst 0
-fHsCgOpt 1
-fHsCgOptUdp 1
-fHsCgOptRtl 1
-fHsCgOptDiag 0
-fHsCgOptAggr 0
-fHsCgOptNoZCheck 0
-fHsCgOptEnableZSupport 0
-fHsCgOpt4StateInfra 0
-fHsCgOptDce 0
-fHsCgOptUdpChkDataForWakeup 1
-fHsNBACgOpt 1
-fHsCgOptXprop 0
-fHsimMdbcgDiag 0
-fHsCgMaxInputs 6
-fHsimMemory 0
-fHsCgOptFwdPass 1
-fHsimHpnodes 0
-fLightDump 0
-fRtdbgAccess 0
-fRtdbgOption 0
-fHDLCosim 0
-fHDLCosimDebug 0
-fHDLCosimTimeCoupled 0
-fHDLCosimTimeCoupledPorts 0
-HDLCosimMaxDataPerDpi 1
-HDLCosimMaxCallsPerDpi 2147483647
-fHDLCosimCompileDUT 0
-fHDLCosimCustomCompile 0
-fHDLCosimBoundaryAnalysis 0
-fVpdBeforeScan 1
-fHsCgOptMiSched0 0
-fgcAddSched0 0
-fParamClassOptRtDiag 0
-fHsRegress 0
-fHsBenchmark 0
-fHsimCgScalarVerilogForce 1
-fVcsElabToRoot 1
-fHilIbnObnCallByName 0
-fHsimMdbcgCellPartition 0
-fHsimCompressVpdSig 0
-fHsimLowPowerOpt 0
-fHsimUdpOpt 1
-fHsVecOneld 0
-fNativeVpdDebug 0
-fNewDtviFuse 0
-fHsimVcsGenTLS 1
-fAssertSuccDebugLevelDump 0
-fHsimMinputsChangeCheck 0
-fHsimClkLayout 0
-fHsimIslandLayout 0
-fHsimConfigSched0 0
-fHsimSelectFuseAfterDfuse 0
-vcsNettypeDbgOpt 4
-fHsimFoldedCell 0
-fHsimSimon2Mdb 0
-fHsimSWaveEmul 0
-fHsimSWaveDumpMDB 0
-fHsimSWaveDumpFlatData 0
-fHsimRenumberAlias 0
-fHsimAliasRenumbered 0
-fHilCgMode 115
-fHsimUnionOpt 0
-fHsimFuseSGDBoundaryNodes 0
-fHsimRemoveCapsVec 0
-fHsimSlowNfsRmapats 0
-fHsimCertRaptScal 0
-fHsimCertRaptMdbClock 0
-fHsCgOptMux 0
-fHsCgOptFrc 0
-fHsCgOpt30 0
-fHsLpNoCapsOpt 0
-fHsCgOpt4State 1
-fHashTableSize 12
-fSkipStrChangeOnDelay 1
-fHsimTcheckOpt 0
-fHsCgOptMuxMClk 0
-fHsCgOptMuxFrc 0
-fHsCgOptNoPcb 0
-fHsCgOptMin1 0
-fHsCgOptUdpChk 0
-fHsChkXForSlowSigProp 1
-fHsimVcsParallelDbg 0
-fHsimVcsParallelStrategy 0
-fHsimVcsParallelOpt 0
-fHsimVcsParallelSubLevel 4
-fHsimParallelEblk 0
-fHsimByteCodeParts 1
-fHsimByteCodePartTesting 0
-fHsimByteCodePartAssert 0
-fFgpNovlInComp 0
-fFutEventPRL 0
-fFgpNbaDelay 0
-fHsimDbsFlagsByteArray 0
-fHsimDbsFlagsByteArrayTC 0
-fHsimDbsFlagsThreadArray 0
-fHsimLevelCompaction 0
-fHsimLevelCompactionThreshold 0
-fHsimGateEdgeEventSched 0
-fHsimGateEdgeEventSchedThreshold 0
-fHsimGateEdgeEventSchedSanity 0
-fHsimSelectEdgeEventSched 0
-fHsimSelectEdgeEventSchedNoTempReuse 0
-fHsimSelectEdgeEventSchedThreshold 0
-fHsimMaxComboLevels 0
-fHsimEgschedDynelab 0
-fHsimUdpClkDynelab 0
-fUdpLayoutOnClk 0
-fHsimDiagClk 1
-fDbsPreCheck 0
-fHsimSched0Analysis 0
-fHsimMultiDriverSched0 0
-fHsimLargeIbnSched 0
-fFgpHierarchical 0
-fFgpHierAllElabModAsRoot 0
-fFgpHierPCElabModAsRoot 0
-fFgpAdjustDataLevelOfLatch 1
-fHsimUdpXedgeEval 0
-fFgpRaceCheck 0
-fFgpUnifyClk 0
-fFgpSmallClkTree 0
-fFgpSmallRtlClkTree 4
-fFgpNoRtlUnlink 0
-fFgpNoRtlAuxLevel 0
-fFgpNumPartitions 8
-fFgpMultiSocketCompile 0
-fFgpMultiSocketAfterGrping 0
-fFgpMultiSocketNCuts 1
-fFgpMultiSocketDiag 0
-fFgpMultiSocketRecomputePart 1
-fFgpDataDepOn 0
-fFgpDDIgnore 0
-fFgpXmrDepOn 0
-fFgpTbCbOn 0
-fFgpTbEvOn 1
-fFgpTbNoVSA 0
-fFgpTbEvXmr 0
-fFgpTbEvCgCall 1
-fFgpDisabledLevel 512
-fFgpSched0User 0
-fFgpNoSdDelayedNbas 1
-fFgpTimingFlags 0
-fFgpTcLoadThreshold 0
-fFgpSched0Level 0
-fHsimFgpMultiClock 0
-fFgpScanOptFix 0
-fFgpSched0UdpData 0
-fFgpSanityTest 0
-fFgpSanityTest_Eng 1
-fFgpAlternativeLevelization 0
-fFgpHighFanoutThreshold 1024
-fFgpSplitGroupLevels 1
-fFgpSplitGroupIbn 1
-fFgpSplitGroupGateEdge 1
-fFgpSplitGroupEval 3
-fFgpGroupingPerfDiag 0
-fFgpSplitGroupDiag 0
-fFgpStricDepModDiag 0
-fFgpIPProtect 0
-fFgpIPProtectStrict 0
-fFgpNoVirtualThreads 0
-fFgpLoadBalance0DiagComp 0
-fFgpLoadBalance0CompileTime 1
-fFgpDepositDiag 0
-fFgpEvtDiag.diagOn 0
-fFgpEvtDiag.printAllNodes 0
-fFgpMangleDiagLog 0
-fFgpMultiExclDiag 0
-fFgpSingleExclReason 0
-fHsDoFaninFanoutSanity 0
-fHsFgpNonDbsOva 1
-fFgpParallelTask 1
-fFgpIbnSched 0
-fFgpIbnSchedOpt 0
-fFgpIbnSchedNoLevel 0
-fFgpIbnSchedThreshold 0
-fFgpIbnSchedDyn 0
-fFgpObnSched 0
-fFgpMpStateByte 0
-fFgpTcStateByte 0
-fHsimVirtIntfDynLoadSched 0
-fHsimNetXmrDrvChk 0
-fFgpNoRtimeFgp 0
-fHsFgpGlSched0 0
-fFgpExclReason 0
-fHsimIslandByIslandElab 0
-fHsimIslandByIslandFlat 0
-fHsimIslandByIslandFlat1 0
-fHsimVpdIBIF 0
-fHsimXmrIBIF 0
-fHsimReportTime 0
-fHsimElabJ 0
-fHsimElabJ4SDF 0
-cElabProcs 0
-hf_fHsimElabJ 0
-fHsimElabJOpt 0
-fHsimElabJMMFactor 0
-fHsimOneInstCap 0
-fHsimSchedMinput 0
-fHsimSchedSeqPrim 0
-fHsimSchedRandom 0
-fHsimSchedAll 0
-fHsimSchedSelectFanout 0
-fHsimSchedSelectFanoutDebug 0
-fHsimSchedSelectFanoutRandom 0
-fFgpDynamicReadOn 0
-fHsCgOptAllUc 0
-fHsimNoReconvergenceSched0 0
-fHsimXmrRepl 0
-fZoix 0
-fHsimDfuseNewOpt 0
-fHsimBfuseNewOpt 0
-fFgpMbme 0
-fFgpXmrSched 0
-fHsimClearClkCaps 0
-fFgpHideXmrNodes 0
-fHsimDiagClkConfig 0
-fHsimDiagClkConfigDebug 0
-fHsimDiagClkConfigDumpAll 0
-fHsDiagClkConfigPara 0
-fHsimDiagClkConfigAn 0
-fHsimCanDumpClkConfig 0
-fFgpInitRout 0
-fFgpIgnoreExclSD 0
-fHsimAggrTCOpt 0
-fFgpNewAggrXmrIterFlow 0
-fFgpNoLocalReferer 0
-fHsCgOptNoClockFusing 0
-fHsClkWheelLimit 50000
-fHsFgpSchedCgUcLoads 1
-fHsimAdvanceUdpInfer 0
-fFgpIbnSchedIntf 0
-fHsCgOptNewSelCheck 1
-fFgpReportUnsafeFuncs 0
-fHsCgOptUncPrlThreshold 4
-fHsimCosimGatesProp 0
-fHsSVNettypePerfOpt 0
-fHsCgOptHashFixMap 1
-fHsimLowPowerRetAnalysisInChild 0
-fRetainWithDelayedSig 0
-fHsimChargeDecay 0
-fHsimCongruencyConfigFile 0
-fHsimCongruencyLogFile 0
-fHsimCoverageEnabled 1
-fHsimCoverageOptions 279
-fHsimCoverageDir ./coverage/simv.vdb
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_fegate.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_fegate.db
deleted file mode 100644
index 09fbb1e..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_fegate.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_lvl.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_lvl.db
deleted file mode 100644
index 5d94a3d..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_lvl.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_merge.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_merge.db
deleted file mode 100644
index daee268..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_merge.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_name.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_name.db
deleted file mode 100644
index 845a982..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_name.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_uds.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_uds.db
deleted file mode 100644
index c9247d6..0000000
--- a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_hsim_uds.db
+++ /dev/null
@@ -1,4 +0,0 @@
-vcselab_misc_midd.db 12293
-vcselab_misc_mnmn.db 603
-vcselab_misc_hsim_name.db 2565
-vcselab_misc_hsim_merge.db 79316
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_midd.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_midd.db
deleted file mode 100644
index cdc702d..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_midd.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_mnmn.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_mnmn.db
deleted file mode 100644
index 831b365..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_mnmn.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_partition.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_partition.db
deleted file mode 100644
index 057063a..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_partition.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vcselabref.db b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vcselabref.db
deleted file mode 100644
index f76dd23..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vcselabref.db and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vpdnodenums b/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vpdnodenums
deleted file mode 100644
index da3eda5..0000000
Binary files a/DA4008_V1.2/sim/lvds/simv.daidir/vcselab_misc_vpdnodenums and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/ucli.key b/DA4008_V1.2/sim/lvds/ucli.key
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/.diagnose.oneSearch b/DA4008_V1.2/sim/lvds/verdiLog/.diagnose.oneSearch
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/ToNetlist.log b/DA4008_V1.2/sim/lvds/verdiLog/ToNetlist.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/compiler.log b/DA4008_V1.2/sim/lvds/verdiLog/compiler.log
deleted file mode 100644
index 29da552..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/compiler.log
+++ /dev/null
@@ -1,25 +0,0 @@
-*design* DebussyLib (btIdent Verdi_O-2018.09-SP2)
-Command arguments:
- +define+verilog
- -sverilog
- -f filelist_vlg.f
- ../../rtl/comm/sirv_gnrl_xchecker.v
- ../../rtl/comm/sirv_gnrl_dffs.v
- ../../rtl/memory/spram.v
- ../../rtl/memory/bhv_spram.v
- ../../rtl/fifo/syn_fwft_fifo.v
- ../../rtl/lvds/ulink_rx.sv
- ../../sim/lvds/TB.sv
- -top
- TB
-
-Highest level modules:
-sirv_gnrl_xchecker
-sirv_gnrl_dfflrs
-sirv_gnrl_dfflrd
-sirv_gnrl_dffl
-sirv_gnrl_dffrs
-sirv_gnrl_ltch
-TB
-
-Total 0 error(s), 0 warning(s)
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/exe.log b/DA4008_V1.2/sim/lvds/verdiLog/exe.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas.log b/DA4008_V1.2/sim/lvds/verdiLog/novas.log
deleted file mode 100644
index 157ce72..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/novas.log
+++ /dev/null
@@ -1,10 +0,0 @@
-Verdi (R)
-
-Release Verdi_O-2018.09-SP2 for (RH Linux x86_64/64bit) -- Thu Feb 21 04:40:56 PDT 2019
-
-Copyright (c) 1999 - 2019 Synopsys, Inc.
-This software and the associated documentation are proprietary to Synopsys, Inc.
-This software may only be used in accordance with the terms and conditions of a written license agreement with Synopsys, Inc.
-All other use, reproduction, or distribution of this software is strictly prohibited.
-
-
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas.rc b/DA4008_V1.2/sim/lvds/verdiLog/novas.rc
deleted file mode 100644
index ea70da1..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/novas.rc
+++ /dev/null
@@ -1,1315 +0,0 @@
-@verdi rc file Version 1.0
-[Library]
-work = ./work
-[Annotation]
-3D_Active_Annotation = FALSE
-[CommandSyntax.finsim]
-InvokeCommand =
-FullFileName = TRUE
-Separator = .
-SimPromptSign = ">"
-HierNameLevel = 1
-RunContinue = "continue"
-Finish = "quit"
-UseAbsTime = FALSE
-NextTime = "run 1"
-NextNTime = "run ${SimBPTime}"
-NextEvent = "run 1"
-Reset =
-ObjPosBreak = "break posedge ${SimBPObj}"
-ObjNegBreak = "break negedge ${SimBPObj}"
-ObjAnyBreak = "break change ${SimBPObj}"
-ObjLevelBreak =
-LineBreak = "breakline ${SimBPFile} ${SimBPLine}"
-AbsTimeBreak = "break abstimeaf ${SimBPTime}"
-RelTimeBreak = "break reltimeaf ${SimBPTime}"
-EnableBP = "breakon ${SimBPId}"
-DisableBP = "breakoff ${SimBPId}"
-DeleteBP = "breakclr ${SimBPId}"
-DeleteAllBP = "breakclr"
-SimSetScope = "cd ${SimDmpObj}"
-[CommandSyntax.ikos]
-InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; "
-FullFileName = TRUE
-NeedTimeUnit = TRUE
-NormalizeTimeUnit = TRUE
-Separator = /
-HierNameLevel = 2
-RunContinue = "run"
-Finish = "exit"
-NextTime = "run ${SimBPTime} ${SimTimeUnit}"
-NextNTime = "run for ${SimBPTime} ${SimTimeUnit}"
-NextEvent = "step 1"
-Reset = "reset"
-ObjPosBreak = "stop if ${SimBPObj} = \"'1'\""
-ObjNegBreak = "stop if ${SimBPObj} = \"'0'\""
-ObjAnyBreak =
-ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}"
-LineBreak = "stop at ${SimBPFile}:${SimBPLine}"
-AbsTimeBreak =
-RelTimeBreak =
-EnableBP = "enable ${SimBPId}"
-DisableBP = "disable ${SimBPId}"
-DeleteBP = "delete ${SimBPId}"
-DeleteAllBP = "delete *"
-[CommandSyntax.verisity]
-InvokeCommand =
-FullFileName = FALSE
-Separator = .
-SimPromptSign = "> "
-HierNameLevel = 1
-RunContinue = "."
-Finish = "$finish;"
-NextTime = "$db_steptime(1);"
-NextNTime = "$db_steptime(${SimBPTime});"
-NextEvent = "$db_step;"
-SimSetScope = "$scope(${SimDmpObj});"
-Reset = "$reset;"
-ObjPosBreak = "$db_breakonposedge(${SimBPObj});"
-ObjNegBreak = "$db_breakonnegedge(${SimBPObj});"
-ObjAnyBreak = "$db_breakwhen(${SimBPObj});"
-ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});"
-LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");"
-AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-RelTimeBreak = "$db_breakbeforetime(${SimBPTime});"
-EnableBP = "$db_enablebreak(${SimBPId});"
-DisableBP = "$db_disablebreak(${SimBPId});"
-DeleteBP = "$db_deletebreak(${SimBPId});"
-DeleteAllBP = "$db_deletebreak;"
-FSDBInit = "$novasInteractive;"
-FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});"
-FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});"
-FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");"
-FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});"
-[CoverageDetail]
-cross_filter_limit = 1000
-branch_limit_vector_display = 50
-showgrid = TRUE
-reuseFirst = TRUE
-justify = TRUE
-scrollbar_mode = per pane
-test_combo_left_truncate = TRUE
-instance_combo_left_truncate = TRUE
-loop_navigation = TRUE
-condSubExpr = 20
-tglMda = 1000
-linecoverable = 100000
-lineuncovered = 50000
-tglcoverable = 30000
-tgluncovered = 30000
-pendingMax = 1000
-show_full_more = FALSE
-[CoverageHier]
-showgrid = FALSE
-[CoverageWeight]
-Assert = 1
-Covergroup = 1
-Line = 1
-Condition = 1
-Toggle = 1
-FSM = 1
-Branch = 1
-[DesignTree]
-IfShowModule = {TRUE, FALSE}
-[DisabledMessages]
-version = Verdi_O-2018.09-SP2
-[Editor]
-editorName = TurboEditor
-[Emacs]
-EmacsFont = "Clean 14"
-EmacsBG = white
-EmacsFG = black
-[Exclusion]
-enableAsDefault = TRUE
-saveAsDefault = TRUE
-saveManually = TRUE
-illegalBehavior = FALSE
-DisplayExcludedItem = FALSE
-adaptiveExclusion = TRUE
-warningExcludeInstance = TRUE
-favorite_exclude_annotation = ""
-[FSM]
-viewport = 65 336 387 479
-WndBk-FillColor = Gray3
-Background-FillColor = gray5
-prefKey_Link-FillColor = yellow4
-prefKey_Link-TextColor = black
-Trap = red3
-Hilight = blue4
-Window = Gray3
-Selected = white
-Trans. = green2
-State = black
-Init. = black
-SmartTips = TRUE
-VectorFont = FALSE
-StopAskBkgndColor = FALSE
-ShowStateAction = FALSE
-ShowTransAction = FALSE
-ShowTransCond = FALSE
-StateLable = NAME
-StateValueRadix = ORIG
-State-LineColor = ID_BLACK
-State-LineWidth = 1
-State-FillColor = ID_BLUE2
-State-TextColor = ID_WHITE
-Init_State-LineColor = ID_BLACK
-Init_State-LineWidth = 2
-Init_State-FillColor = ID_YELLOW2
-Init_State-TextColor = ID_BLACK
-Reset_State-LineColor = ID_BLACK
-Reset_State-LineWidth = 2
-Reset_State-FillColor = ID_YELLOW7
-Reset_State-TextColor = ID_BLACK
-Trap_State-LineColor = ID_RED2
-Trap_State-LineWidth = 2
-Trap_State-FillColor = ID_CYAN5
-Trap_State-TextColor = ID_RED2
-State_Action-LineColor = ID_BLACK
-State_Action-LineWidth = 1
-State_Action-FillColor = ID_WHITE
-State_Action-TextColor = ID_BLACK
-Junction-LineColor = ID_BLACK
-Junction-LineWidth = 1
-Junction-FillColor = ID_GREEN2
-Junction-TextColor = ID_BLACK
-Connection-LineColor = ID_BLACK
-Connection-LineWidth = 1
-Connection-FillColor = ID_GRAY5
-Connection-TextColor = ID_BLACK
-prefKey_Port-LineColor = ID_BLACK
-prefKey_Port-LineWidth = 1
-prefKey_Port-FillColor = ID_ORANGE6
-prefKey_Port-TextColor = ID_YELLOW2
-Transition-LineColor = ID_BLACK
-Transition-LineWidth = 1
-Transition-FillColor = ID_WHITE
-Transition-TextColor = ID_BLACK
-Trans_Condition-LineColor = ID_BLACK
-Trans_Condition-LineWidth = 1
-Trans_Condition-FillColor = ID_WHITE
-Trans_Condition-TextColor = ID_ORANGE2
-Trans_Action-LineColor = ID_BLACK
-Trans_Action-LineWidth = 1
-Trans_Action-FillColor = ID_WHITE
-Trans_Action-TextColor = ID_GREEN2
-SelectedSet-LineColor = ID_RED2
-SelectedSet-LineWidth = 1
-SelectedSet-FillColor = ID_RED2
-SelectedSet-TextColor = ID_WHITE
-StickSet-LineColor = ID_ORANGE5
-StickSet-LineWidth = 1
-StickSet-FillColor = ID_PURPLE6
-StickSet-TextColor = ID_BLACK
-HilightSet-LineColor = ID_RED5
-HilightSet-LineWidth = 1
-HilightSet-FillColor = ID_RED7
-HilightSet-TextColor = ID_BLUE5
-ControlPoint-LineColor = ID_BLACK
-ControlPoint-LineWidth = 1
-ControlPoint-FillColor = ID_WHITE
-Bundle-LineColor = ID_BLACK
-Bundle-LineWidth = 1
-Bundle-FillColor = ID_WHITE
-Bundle-TextColor = ID_BLUE4
-QtBackground-FillColor = ID_GRAY6
-prefKey_Link-LineColor = ID_ORANGE2
-prefKey_Link-LineWidth = 1
-Selection-LineColor = ID_BLUE2
-Selection-LineWidth = 1
-[FSM_Dlg-Print]
-Orientation = Landscape
-[FileBrowser]
-nWaveRestoreRCDirHistory = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc\""
-[Form]
-version = Verdi_O-2018.09-SP2
-[General]
-autoSaveSession = FALSE
-TclAutoSource =
-cmd_enter_form = FALSE
-SyncBrowserDir = TRUE
-version = Verdi_O-2018.09-SP2
-SignalCaseInSensitive = FALSE
-ShowWndCtntDuringResizing = FALSE
-[GlobalProp]
-ErrWindow_Font = Helvetica_M_R_12
-[Globals]
-app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0
-app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0
-text_encoding = Unicode(utf8)
-smart_resize = TRUE
-smart_resize_child_limit = 2000
-tooltip_max_width = 200
-tooltip_max_height = 20
-tooltip_viewer_key = F3
-tooltip_display_time = 1000
-bookmark_name_length_limit = 12
-disable_tooltip = FALSE
-auto_load_source = TRUE
-max_array_size = 4096
-filter_when_typing = TRUE
-filter_keep_children = TRUE
-filter_syntax = Wildcards
-filter_keystroke_interval = 800
-filter_case_sensitive = FALSE
-filter_full_path = FALSE
-load_detail_for_funcov = FALSE
-sort_limit = 100000
-ignoreDBVersionChecking = FALSE
-[HB]
-ViewSchematic = FALSE
-windowLayout = 0 0 804 500 182 214 804 148
-import_filter = *.v; *.vc; *.f
-designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-import_filter_vhdl = *.vhd; *.vhdl; *.f
-import_default_language = Verilog
-import_filter_verilog = *.v; *.vc; *.f
-simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump
-PrefetchViewableAnnot = TRUE
-[Hier]
-filterTimeout = 1500
-[ImportLiberty]
-SearchPriority = .lib++
-bSkipStateCell = False
-bImportPowerInfo = False
-bSkipFFCell = False
-bScpecifyCellNameCase = False
-bSpecifyPinNameCase = False
-CellNameToCase =
-PinNameToCase =
-[Language]
-EditWindow_Font = COURIER12
-Background = ID_WHITE
-Comment = ID_GRAY4
-Keyword = ID_BLUE5
-UserKeyword = ID_GREEN2
-Text = ID_BLACK
-SelText = ID_WHITE
-SelBackground = ID_BLUE2
-[Library.Ikos]
-pack = ./work.lib++
-vital = ./work.lib++
-work = ./work.lib++
-std = ${dls_std}.lib++
-ieee = ${dls_ieee}.lib++
-synopsys = ${dls_synopsys}.lib++
-silc = ${dls_silc}.lib++
-ikos = ${dls_ikos}.lib++
-novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++
-[MDT]
-ART_RF_SP = spr[0-9]*bx[0-9]*
-ART_RF_2P = dpr[0-9]*bx[0-9]*
-ART_SRAM_SP = spm[0-9]*bx[0-9]*
-ART_SRAM_DP = dpm[0-9]*bx[0-9]*
-VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1
-VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1
-VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0
-VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1
-VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0
-[NPExpanding]
-functiongroups = FALSE
-modules = FALSE
-[NPFilter]
-showAssertion = TRUE
-showCoverGroup = TRUE
-showProperty = TRUE
-showSequence = TRUE
-showDollarUnit = TRUE
-[OldFontRC]
-Wave_legend_window_font = -f COURIER12 -c ID_CYAN5
-Wave_value_window_font = -f COURIER12 -c ID_CYAN5
-Wave_curve_window_font = -f COURIER12 -c ID_CYAN5
-Wave_group_name_font = -f COURIER12 -c ID_GREEN5
-Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-Wave_comment_string_font = -f COURIER12 -c ID_RED5
-HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-*
-Text_font = COURIER12
-nMemory_font = Fixed 14
-Wave_getsignal_form_font = -f COURIER12
-Text_annotFont = Helvetica_M_R_10
-[OtherEditor]
-cmd1 = "xterm -font 9x15 -fg black -bg gray -e"
-name = "vi"
-options = "+${CurLine} ${CurFullFileName}"
-[Power]
-PowerDownInstance = ID_GRAY1
-RetentionSignal = ID_YELLOW2
-IsolationSignal = ID_RED6
-LevelShiftedSignal = ID_GREEN6
-PowerSwitchObject = ID_ORANGE5
-AlwaysOnObject = ID_GREEN5
-PowerNet = ID_RED2
-GroundNet = ID_RED2
-SimulationOnly = ID_CYAN3
-SRSN/SPA = ID_CYAN3
-CNSSignal = ID_CYAN3
-RPTRSignal = ID_CYAN3
-AcknowledgeSignal = ID_CYAN3
-BoundaryPort = ID_CYAN3
-DisplayInstrumentedCell = TRUE
-ShowCmdByFile = FALSE
-ShowPstAnnot = FALSE
-ShowIsoSymbol = TRUE
-ExtractIsoSameNets = FALSE
-AnnotateSignal = TRUE
-HighlightPowerObject = TRUE
-HighlightPowerDomain = TRUE
-TraceThroughInstruLowPower = FALSE
-BrightenPowerColorInSchematicWindow = FALSE
-ShowAlias = FALSE
-ShowVoltage = TRUE
-MatchTreeNodesCaseInsensitive = FALSE
-SearchHBNodeDynamically = FALSE
-ContinueTracingSupplyOrLogicNet = FALSE
-[Print]
-PrinterName = lp
-FileName = test.ps
-PaperSize = A4 - 210x297 (mm)
-ColorPrint = FALSE
-[PropertyTools]
-saveWaveformStat = TRUE
-savePropStat = FALSE
-savePropDtl = TRUE
-[QtDialog]
-openFileDlg = 649,304,602,483
-saveSigDlg = 674,352,551,386
-restoreSigDlg = 657,411,551,438
-QwUserAskDlg = 780,571,324,134
-[Relationship]
-hideRecursiceNode = FALSE
-[Session Cache]
-3 = string (session file name)
-4 = string (session file name)
-5 = string (session file name)
-1 = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses
-2 = /home/shbyang/verdiLog/novas_autosave.ses
-[Simulation]
-scsPath = scsim
-scsOption =
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-osciPath = gdb
-osciOption =
-vcsPath = simv
-vcsOption =
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-speedsimPath =
-speedsimOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-interactiveDebugging = {True, False}
-KeepBreakPoints = False
-ScsDebugAll = False
-simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc}
-thirdpartyIdx = -1
-iscCmdSep = FALSE
-NoAppendOption = False
-[SimulationPlus]
-xlPath = verilog
-xlOption =
-ncPath = ncsim
-ncOption = -f ncsim.args
-vcsPath = simv
-vcsOption =
-mti_vlogPath = vsim
-mti_vlogOption = novas_vlog
-mtiPath = vsim
-mtiOption =
-vhncPath = ncsim
-vhncOption = -log debussy.nc.log
-speedsimPath = verilog
-speedsimOption =
-mixncPath = ncsim
-mixncOption = -log debussy.mixnc.log
-scsPath = scsim
-scsOption =
-vcs_mixPath = simv
-vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd"
-scs_mixPath = scsim
-scs_mixOption = -vhpi debussy:FSDBDumpCmd
-vcs_svPath = simv
-vcs_svOption =
-simType = vcssv
-thirdpartyIdx = -1
-interactiveDebugging = FALSE
-KeepBreakPoints = FALSE
-iscCmdSep = FALSE
-ScsDebugAll = FALSE
-NoAppendOption = FALSE
-invokeSimPath = work
-[SimulationPlus2]
-eventDumpUnfinish = FALSE
-[Source]
-wordWrapOn = TRUE
-viewReuse = TRUE
-lineNumberOn = TRUE
-warnOutdatedDlg = TRUE
-showEncrypt = FALSE
-loadInclude = FALSE
-showColorForActive = FALSE
-tabWidth = 8
-editor = vi
-reload = Never
-sync_active_to_source = TRUE
-navigateAsColored = FALSE
-navigateCovered = FALSE
-navigateUncovered = TRUE
-navigateExcluded = FALSE
-not_ask_for_source_path = FALSE
-expandMacroOn = TRUE
-expandMacroInstancesThreshold = 10000
-[SourceVHDL]
-vhSimType = ModelSim
-ohSimType = VCS
-[TclShell]
-nLineSize = 1024
-[Test]
-verbose_progress = FALSE
-[TestBenchBrowser]
--showUVMDynamicHierTreeWin = FALSE
-[Text]
-hdlTypeName = blue4
-hdlLibrary = blue4
-viewport = 396 392 445 487
-hdlOther = ID_BLACK
-hdlComment = ID_GRAY1
-hdlKeyword = ID_BLUE5
-hdlEntity = ID_BLACK
-hdlEntityInst = ID_BLACK
-hdlSignal = ID_RED2
-hdlInSignal = ID_RED2
-hdlOutSignal = ID_RED2
-hdlInOutSignal = ID_RED2
-hdlOperator = ID_BLACK
-hdlMinus = ID_BLACK
-hdlSymbol = ID_BLACK
-hdlString = ID_BLACK
-hdlNumberBase = ID_BLACK
-hdlNumber = ID_BLACK
-hdlLiteral = ID_BLACK
-hdlIdentifier = ID_BLACK
-hdlSystemTask = ID_BLACK
-hdlParameter = ID_BLACK
-hdlIncFile = ID_BLACK
-hdlDataFile = ID_BLACK
-hdlCDSkipIf = ID_GRAY1
-hdlMacro = ID_BLACK
-hdlMacroValue = ID_BLACK
-hdlPlainText = ID_BLACK
-hdlOvaId = ID_PURPLE2
-hdlPslId = ID_PURPLE2
-HvlEId = ID_BLACK
-HvlVERAId = ID_BLACK
-hdlEscSignal = ID_BLACK
-hdlEscInSignal = ID_BLACK
-hdlEscOutSignal = ID_BLACK
-hdlEscInOutSignal = ID_BLACK
-textBackgroundColor = ID_GRAY6
-textHiliteBK = ID_BLUE5
-textHiliteText = ID_WHITE
-textTracedMark = ID_GREEN2
-textLineNo = ID_BLACK
-textFoldedLineNo = ID_RED5
-textUserKeyword = ID_GREEN2
-textParaAnnotText = ID_BLACK
-textFuncAnnotText = ID_BLUE2
-textAnnotText = ID_BLACK
-textUserDefAnnotText = ID_BLACK
-ComputedSignal = ID_PURPLE5
-textAnnotTextShadow = ID_WHITE
-parenthesisBGColor = ID_YELLOW5
-codeInParenthesis = ID_CYAN5
-text3DLight = ID_WHITE
-text3DShadow = ID_BLACK
-textHvlDriver = ID_GREEN3
-textHvlLoad = ID_YELLOW3
-textHvlDriverLoad = ID_BLUE3
-irOutline = ID_RED2
-irDriver = ID_YELLOW5
-irLoad = ID_BLACK
-irBookMark = ID_YELLOW2
-irIndicator = ID_WHITE
-irBreakpoint = ID_GREEN5
-irCurLine = ID_BLUE5
-hdlVhEntity = ID_BLACK
-hdlArchitecture = ID_BLACK
-hdlPackage = ID_BLUE5
-hdlRefPackage = ID_BLUE5
-hdlAlias = ID_BLACK
-hdlGeneric = ID_BLUE5
-specialAnnotShadow = ID_BLUE1
-hdlZeroInHead = ID_GREEN2
-hdlZeroInComment = ID_GREEN2
-hdlPslHead = ID_BLACK
-hdlPslComment = ID_BLACK
-hdlSynopsysHead = ID_GREEN2
-hdlSynopsysComment = ID_GREEN2
-pdmlIdentifier = ID_BLACK
-pdmlCommand = ID_BLACK
-pdmlMacro = ID_BLACK
-font = COURIER12
-annotFont = Helvetica_M_R_10
-[Text.1]
-viewport = 424 240 1017 706 45
-[TextPrinter]
-Orientation = Landscape
-Indicator = FALSE
-LineNum = TRUE
-FontSize = 7
-Column = 2
-Annotation = TRUE
-[Texteditor]
-TexteditorFont = "Clean 14"
-TexteditorBG = white
-TexteditorFG = black
-[ThirdParty]
-ThirdPartySimTool = verisity surefire ikos finsim
-[TurboEditor]
-autoBackup = TRUE
-[UserButton.mixnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-Button8 = "FSDB Ver" "call fsdbVersion"
-Button9 = "Dump On" "call fsdbDumpon"
-Button10 = "Dump Off" "call fsdbDumpoff"
-Button11 = "All Tasks" "call"
-Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}"
-[UserButton.mti]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.mti_vlog]
-Button1 = "Dump All Signals" "fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time}\n"
-Button4 = "Show Variables" "exa ${SelVars}\n"
-Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n"
-Button6 = "Release Variable" "noforce ${SelVar}\n"
-Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n"
-[UserButton.nc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.scs]
-Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n"
-Button2 = "Next 1000 Time" "run 1000 \n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} \n"
-Button4 = "Run Step" "step\n"
-Button5 = "Show Variables" "ls -v {${SelVars}}\n"
-[UserButton.vhnc]
-Button1 = "Dump All Signals" "call fsdbDumpvars\n"
-Button2 = "Next 1000 Time" "run 1000 -relative\n"
-Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n"
-Button4 = "Run Next" "run -next\n"
-Button5 = "Run Step" "run -step\n"
-Button6 = "Run Return" "run -return\n"
-Button7 = "Show Variables" "value {${NCSelVars}}\n"
-[UserButton.xl]
-Button13 = "Dump Off" "$fsdbDumpoff;\n"
-Button12 = "Dump On" "$fsdbDumpon;\n"
-Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n"
-Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n"
-Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n"
-Button8 = "Release Variable" "release ${SelVar};\n"
-Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n"
-Button6 = "Show Variables" "$showvars(${SelVars});\n"
-Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n"
-Button4 = "Next Event" "$db_step(1);\n"
-Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n"
-Button2 = "Next 1000 Time" "#1000 $stop;.\n"
-Button1 = "Dump All Signals" "$fsdbDumpvars;\n"
-[VIA]
-viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc"
-[VIA.oneSearch.preference]
-DefaultDisplayTimeUnit = "1.000000ns"
-DefaultLogTimeUnit = "1.000000ns"
-[VIA.oneSearch.preference.vgifColumnSettingRC]
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0]
-parRuleSets = ""
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0]
-name = Time
-width = 60
-visualIndex = 0
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1]
-name = Message
-width = 2000
-visualIndex = 4
-isHidden = FALSE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2]
-name = Code
-width = 60
-visualIndex = 2
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3]
-name = Type
-width = 60
-visualIndex = 3
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4]
-name = Severity
-width = 60
-visualIndex = 1
-isHidden = TRUE
-isUserChangeColumnVisible = FALSE
-[Vi]
-ViFont = "Clean 14"
-ViBG = white
-ViFG = black
-[Wave]
-ovaEventSuccessColor = -c ID_CYAN5
-ovaEventFailureColor = -c ID_RED5
-ovaBooleanSuccessColor = -c ID_CYAN5
-ovaBooleanFailureColor = -c ID_RED5
-ovaAssertSuccessColor = -c ID_GREEN5
-ovaAssertFailureColor = -c ID_RED5
-ovaForbidSuccessColor = -c ID_GREEN5
-SigGroupRuleFile =
-DisplayFileName = FALSE
-waveform_vertical_scroll_bar = TRUE
-scope_to_save_with_macro
-open_file_dir
-open_rc_file_dir
-getSignalForm = 0 0 800 479 100 30 100 30
-viewPort = 0 27 1017 282 229 65
-signalSpacing = 5
-digitalSignalHeight = 15
-analogSignalHeight = 98
-commentSignalHeight = 98
-transactionSignalHeight = 98
-messageSignalHeight = 98
-minCompErrWidth = 4
-DragZoomTolerance = 4
-maxTransExpandedLayer = 10
-WaveMaxPoint = 512
-legendBackground = -c ID_BLACK
-valueBackground = -c ID_BLACK
-curveBackground = -c ID_BLACK
-getSignalSignalList_BackgroundColor = -c ID_GRAY6
-glitchColor = -c ID_RED5
-cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed
-marker = -c ID_WHITE -lw 1 -ls dash_dot_l
-usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed
-trace = -c ID_GRAY5 -lw 1 -ls long_dashed
-grid = -c ID_WHITE -lw 1 -ls short_dashed
-rulerBackground = -c ID_GRAY3
-rulerForeground = -c ID_YELLOW5
-busTextColor = -c ID_ORANGE8
-legendForeground = -c ID_CYAN5
-valueForeground = -c ID_CYAN5
-curveForeground = -c ID_CYAN5
-groupNameColor = -c ID_GREEN5
-commentStringColor = -c ID_RED5
-region(Active)Background = -c ID_YELLOW1
-region(NBA)Background = -c ID_RED1
-region(Re-Active)Background = -c ID_YELLOW3
-region(Re-NBA)Background = -c ID_RED3
-region(VHDL-Delta)Background = -c ID_ORANGE3
-region(Dump-Off)Background = -c ID_GRAY4
-High_Light = -c ID_GRAY2
-Input_Signal = -c ID_RED5
-Output_Signal = -c ID_GREEN5
-InOut_Signal = -c ID_BLUE5
-Net_Signal = -c ID_YELLOW5
-Register_Signal = -c ID_PURPLE5
-Verilog_Signal = -c ID_CYAN5
-VHDL_Signal = -c ID_ORANGE5
-SystemC_Signal = -c ID_BLUE7
-Dump_Off_Color = -c ID_BLUE2
-Compress_Bar_Color = -c ID_YELLOW4
-Vector_Dense_Block_Color = -c ID_ORANGE8
-Scalar_Dense_Block_Color = -c ID_GREEN6
-Analog_Dense_Block_Color = -c ID_PURPLE2
-Composite_Dense_Block_Color = -c ID_ORANGE5
-RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots
-DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots
-SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots
-SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots
-SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots
-Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots
-PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots
-Isolation_Layer = -c ID_RED4 -stipple vLine
-Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid
-Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid
-Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x
-Toggle_Layer = -c ID_YELLOW4 -stipple slash
-analogRealStyle = pwl
-analogVoltageStyle = pwl
-analogCurrentStyle = pwl
-analogOthersStyle = pwl
-busSignalLayer = -c ID_ORANGE8
-busXLayer = -c ID_RED5
-busZLayer = -c ID_ORANGE6
-busMixedLayer = -c ID_GREEN5
-busNotComputedLayer = -c ID_GRAY1
-busNoValueLayer = -c ID_BLUE2
-signalGridLayer = -c ID_WHITE
-analogGridLayer = -c ID_GRAY6
-analogRulerLayer = -c ID_GRAY6
-keywordLayer = -c ID_RED5
-loadedLayer = -c ID_BLUE5
-loadingLayer = -c ID_BLACK
-qdsCurMarkerLayer = -c ID_BLUE5
-qdsBrkMarkerLayer = -c ID_GREEN5
-qdsTrgMarkerLayer = -c ID_RED5
-arrowDefaultColor = -c ID_ORANGE6
-startNodeArrowColor = -c ID_WHITE
-endNodeArrowColor = -c ID_YELLOW5
-propertyEventMatchColor = -c ID_GREEN5
-propertyEventNoMatchColor = -c ID_RED5
-propertyVacuousSuccessMatchColor = -c ID_YELLOW2
-propertyStatusBoundaryColor = -c ID_WHITE
-propertyBooleanSuccessColor = -c ID_CYAN5
-propertyBooleanFailureColor = -c ID_RED5
-propertyAssertSuccessColor = -c ID_GREEN5
-propertyAssertFailureColor = -c ID_RED5
-propertyForbidSuccessColor = -c ID_GREEN5
-transactionForegroundColor = -c ID_YELLOW8
-transactionBackgroundColor = -c ID_BLACK
-transactionHighLightColor = -c ID_CYAN6
-transactionRelationshipColor = -c ID_PURPLE6
-transactionErrorTypeColor = -c ID_RED5
-coverageFullyCoveredColor = -c ID_GREEN5
-coverageNoCoverageColor = -c ID_RED5
-coveragePartialCoverageColor = -c ID_YELLOW5
-coverageReferenceLineColor = -c ID_GRAY4
-messageForegroundColor = -c ID_YELLOW4
-messageBackgroundColor = -c ID_PURPLE1
-messageHighLightColor = -c ID_CYAN6
-messageInformationColor = -c ID_RED5
-ComputedAnnotColor = -c ID_PURPLE5
-fsvSecurityDataColor = -c ID_PURPLE3
-qdsAutoBusGroup = TRUE
-qdsTimeStampMode = FALSE
-qdsVbfBusOrderAscending = FALSE
-openDumpFilter = *.fsdb;*.vf;*.jf
-DumpFileFilter = *.vcd
-RestoreSignalFilter = *.rc
-SaveSignalFilter = *.rc
-AddAliasFilter = *.alias;*.adb
-CompareSignalFilter = *.err
-ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm
-Scroll_Ratio = 100
-Zoom_Ratio = 10
-EventSequence_SyncCursorTime = TRUE
-EventSequence_Sorting = FALSE
-EventSequence_RemoveGrid = FALSE
-EventSequence_IsGridMode = FALSE
-SetDefaultRadix_global = FALSE
-DefaultRadix = Hex
-SigSearchSignalMatchCase = FALSE
-SigSearchSignalScopeOption = FALSE
-SigSearchSignalSamenetInterface = FALSE
-SigSearchSignalFullScope = FALSE
-SigSearchSignalWithRegExp = FALSE
-SigSearchDynamically = FALSE
-SigDisplayBySelectionOrder = FALSE
-SigDisplayRowMajor = FALSE
-SigDragSelFollowColumn = FALSE
-SigDisplayHierarchyBox = TRUE
-SigDisplaySubscopeBox = TRUE
-SigDisplayEmptyScope = TRUE
-SigDisplaySignalNavigationBox = FALSE
-SigDisplayFormBus = TRUE
-SigShowSubProgram = TRUE
-SigSearchScopeDynamically = TRUE
-SigCollapseSubtreeNodes = FALSE
-activeFileApplyToAnnotation = FALSE
-GrpSelMode = TRUE
-dispGridCount = FALSE
-hierarchyName = FALSE
-partial_level_name = FALSE
-partial_level_head = 1
-partial_level_tail = 1
-displayMessageLabelOnly = TRUE
-autoInsertDumpoffs = TRUE
-displayMessageCallStack = FALSE
-displayCallStackWithFullSections = TRUE
-displayCallStackWithLastSection = FALSE
-limitMessageMaxWidth = FALSE
-messageMaxWidth = 50
-displayTransBySpecificColor = FALSE
-fittedTransHeight = FALSE
-snap = TRUE
-gravitySnap = FALSE
-displayLeadingZero = FALSE
-displayGlitchs = FALSE
-allfileTimeRange = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-restoreFromActiveFile = TRUE
-restoreToEnd = FALSE
-dispCompErr = TRUE
-showMsgDes = TRUE
-anaAutoFit = FALSE
-anaAutoPattn = FALSE
-anaAuto100VertFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
-denseBlockDrawing = TRUE
-relativeFreqPrecision = 3
-showMarkerAbsolute = FALSE
-showMarkerAdjacent = FALSE
-showMarkerRelative = FALSE
-showMarkerFrequency = FALSE
-stickCursorMarkerOnWaveform = TRUE
-keepMarkerAtEndTimeOfTransaction = FALSE
-doubleClickToExpandTransaction = TRUE
-expandTransactionAssociatedSignals = TRUE
-expandTransactionAttributeSignals = FALSE
-WaveExtendLastTick = TRUE
-InOutSignal = FALSE
-NetRegisterSignal = FALSE
-VerilogVHDLSignal = FALSE
-LabelMarker = TRUE
-ResolveSymbolicLink = TRUE
-signal_rc_abspath = TRUE
-signal_rc_no_natural_bus_range = FALSE
-save_scope_with_macro = FALSE
-TipInSignalWin = FALSE
-DisplayPackedSiganlInBitwiseManner = FALSE
-DisplaySignalTypeAheadOfSignalName = TRUE ICON
-TipInCurveWin = FALSE
-MouseGesturesInCurveWin = TRUE
-DisplayLSBsFirst = FALSE
-PaintSpecificColorPattern = TRUE
-ModuleName = TRUE
-form_all_memory_signal = FALSE
-formBusSignalFromPartSelects = FALSE
-read_value_change_on_demand_for_drawing = FALSE
-load_scopes_on_demand = on 5
-TransitionMode = TRUE
-DisplayRadix = FALSE
-SchemaX = FALSE
-Hilight = TRUE
-UseBeforeValue = FALSE
-DisplayFileNameAheadOfSignalName = FALSE
-DisplayFileNumberAheadOfSignalName = FALSE
-DisplayValueSpace = TRUE
-FitAnaByBusSize = FALSE
-displayTransactionAttributeName = FALSE
-expandOverlappedTrans = FALSE
-dispSamplePointForAttrSig = TRUE
-dispClassName = TRUE
-ReloadActiveFileOnly = FALSE
-NormalizeEVCD = FALSE
-OverwriteAliasWithRC = TRUE
-overlay_added_analog_signals = FALSE
-case_insensitive = FALSE
-vhdlVariableCalculate = TRUE
-showError = TRUE
-signal_vertical_scroll_bar = TRUE
-showPortNameForDroppedInstance = FALSE
-truncateFilePathInTitleBar = TRUE
-filterPropVacuousSuccess = FALSE
-includeLocalSignals = FALSE
-encloseSignalsByGroup = TRUE
-resaveSignals = TRUE
-adjustBusPrefix = adjustBus_
-adjustBusBits = 1
-adjustBusSettings = 69889
-maskPowerOff = TRUE
-maskIsolation = TRUE
-maskRetention = TRUE
-maskDrivingPowerOff = TRUE
-maskToggle = TRUE
-autoBackupSignals = off 5 "\"/home/shbyang/verdiLog\"" "\"novas_autosave_sig\""
-signal_rc_attribute = 65535
-signal_rc_alias_attribute = 0
-ConvertAttr1 = -inc FALSE
-ConvertAttr2 = -hier FALSE
-ConvertAttr3 = -ucase FALSE
-ConvertAttr4 = -lcase FALSE
-ConvertAttr5 = -org FALSE
-ConvertAttr6 = -mem 24
-ConvertAttr7 = -deli .
-ConvertAttr8 = -hier_scope FALSE
-ConvertAttr9 = -inst_array FALSE
-ConvertAttr10 = -vhdlnaming FALSE
-ConvertAttr11 = -orgScope FALSE
-analogFmtPrecision = Automatic 2
-confirmOverwrite = TRUE
-confirmExit = TRUE
-confirmGetAll = TRUE
-printTimeRange = TRUE 0.000000 0.000000 0.000000
-printPageRange = TRUE 1 1
-printOption = 0
-printBasic = 1 0 0 FALSE FALSE
-printDest = -printer {}
-printSignature = {%f %h %t} {}
-curveWindow_Drag&Drop_Mode = TRUE
-hspiceIncOpenMode = TRUE
-pcSelectMode = TRUE
-hierarchyDelimiter = /
-RecentFile1 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc\""
-RecentFile2 = "\"/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb\""
-open_file_time_range = FALSE
-value_window_aligment = Right
-signal_window_alignment = Auto
-ShowDeltaTime = TRUE
-legend_window_font = -f COURIER12 -c ID_CYAN5
-value_window_font = -f COURIER12 -c ID_CYAN5
-curve_window_font = -f COURIER12 -c ID_CYAN5
-group_name_font = -f COURIER12 -c ID_GREEN5
-ruler_value_font = -f COURIER12 -c ID_CYAN5
-analog_ruler_value_font = -f COURIER12 -c ID_CYAN5
-comment_string_font = -f COURIER12 -c ID_RED5
-getsignal_form_font = -f COURIER12
-SigsCheckNum = on 1000
-filter_synthesized_net = off n
-filterOutNet = on
-filter_synthesized_instance = off
-filterOutInstance = on
-showGroupTree = TRUE
-hierGroupDelim = /
-MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \
-ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5}
-AutoApplySeverityColor = TRUE
-AutoAdjustMsgWidthByLabel = off
-verilogStrengthDispType = type1
-waveDblClkActiveTrace = on
-autoConnectTBrowser = FALSE
-connectTBrowserInContainer = TRUE
-SEQShowComparisonIcon = TRUE
-SEQAddDriverLoadInSameGroup = TRUE
-autoSyncCursorMarker = FALSE
-autoSyncHorizontalRange = FALSE
-autoSyncVerticalScroll = FALSE
-[cov_hier_name_column]
-justify = TRUE
-[coverageColors]
-sou_uncov = TRUE
-sou_pc = TRUE
-sou_cov = TRUE
-sou_exuncov = TRUE
-sou_excov = TRUE
-sou_unreach = TRUE
-sou_unreachcon = TRUE
-sou_fillColor_uncov = red
-sou_fillColor_pc = yellow
-sou_fillColor_cov = green3
-sou_fillColor_exuncov = grey
-sou_fillColor_excov = #3C9371
-sou_fillColor_unreach = grey
-sou_fillColor_unreachcon = orange
-numberOfBins = 6
-rangeMin_0 = 0
-rangeMax_0 = 20
-fillColor_0 = #FF6464
-rangeMin_1 = 20
-rangeMax_1 = 40
-fillColor_1 = #FF9999
-rangeMin_2 = 40
-rangeMax_2 = 60
-fillColor_2 = #FF8040
-rangeMin_3 = 60
-rangeMax_3 = 80
-fillColor_3 = #FFFF99
-rangeMin_4 = 80
-rangeMax_4 = 100
-fillColor_4 = #99FF99
-rangeMin_5 = 100
-rangeMax_5 = 100
-fillColor_5 = #64FF64
-[coveragesetting]
-assertTopoMode = FALSE
-urgAppendOptions =
-group_instance_new_format_name = TRUE
-showvalue = FALSE
-computeGroupsScoreByRatio = FALSE
-computeGroupsScoreByInst = FALSE
-showConditionId = FALSE
-showfullhier = FALSE
-nameLeftAlignment = TRUE
-showAllInfoInTooltips = FALSE
-copyItemHvpName = TRUE
-ignoreGroupWeight = FALSE
-absTestName = FALSE
-HvpMergeTool =
-ShowMergeMenuItem = FALSE
-fsmScoreMode = transition
-[eco]
-NameRule =
-IsFreezeSilicon = FALSE
-cellQuantityManagement = FALSE
-ManageMode = INSTANCE_NAME
-SpareCellsPinsManagement = TRUE
-LogCommitReport = FALSE
-InputPinStatus = 1
-OutputPinStatus = 2
-RevisedComponentColor = ID_BLUE5
-SpareCellColor = ID_RED5
-UserName = shbyang
-CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time}
-PrefixN = eco_n
-PrefixP = eco_p
-PrefixI = eco_i
-DefaultTieUpNet = 1'b1
-DefaultTieDownNet = 1'b0
-MultipleInstantiations = TRUE
-KeepClockPinConnection = FALSE
-KeepAsyncResetPinConnection = FALSE
-ScriptFileModeType = 1
-MagmaScriptPower = VDD
-MagmaScriptGround = GND
-ShowModeMsg = TRUE
-AstroScriptPower = VDD
-AstroScriptGround = VSS
-ClearFloatingPorts = FALSE
-[eco_connection]
-Port/NetIsUnique = TRUE
-SerialNet = 0
-SerialPort = 0
-SerialInst = 0
-[finsim]
-TPLanguage = Verilog
-TPName = Super-FinSim
-TPPath = TOP.sim
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[hvpsetting]
-importExcelXMLOptions =
-use_test_loca_as_source = FALSE
-autoTurnOffHideMeetGoalInit = FALSE
-autoTurnOffHideMeetGoal = TRUE
-autoTurnOffModifierInit = FALSE
-autoTurnOffModifier = TRUE
-enableNumbering = TRUE
-autoSaveCheck = TRUE
-autoSaveTime = 5
-ShowMissingScore = TRUE
-enableFeatureId = FALSE
-enable_HVP_FEAT_ID = FALSE
-enableMeasureConcealment = FALSE
-HvpCloneHierShowMsgAgain = 1
-HvpCloneHierType = tree
-HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert
-autoRecalPlanAfterLoadingCovDBUserDataPlan = false
-warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true
-autoRecalExclWithPlan = false
-warnMeAutoRecalExclWithPlan = true
-autoRecalPlanWithExcl = false
-warnMeAutoRecalPlanWithExcl = true
-warnPopupWarnWhenMultiFilters = true
-warnPopupWarnIfHvpReadOnly = true
-unmappedObjsReportLevel = def_var_inst
-unmappedObjsReportInst = true
-unmappedObjsNumOfObjs = High
-[ikos]
-TPLanguage = VHDL
-TPName = Voyager
-TPPath = vsh
-TPOption = -X
-AddImportArgument = FALSE
-LineBreakWithScope = FALSE
-StopAfterCompileOption = -i
-[imp]
-options = NULL
-libPath = NULL
-libDir = NULL
-[nCompare]
-ErrorViewport = 80 180 800 550
-EditorViewport = 409 287 676 475
-EditorHeightWidth = 802 380
-WaveCommand = "novas"
-WaveArgs = "-nWave"
-[nCompare.Wnd0]
-ViewByHier = FALSE
-[nMemory]
-dispMode = ADDR_HINT
-addrColWidth = 120
-valueColWidth = 100
-showCellBitRangeWithAddr = TRUE
-wordsShownInOneRow = 8
-syncCursorTime = FALSE
-fixCellColumnWidth = FALSE
-font = Courier 12
-[planColors]
-plan_fillColor_inactive = lightGray
-plan_fillColor_warning = orange
-plan_fillColor_error = red
-plan_fillColor_invalid = #F0DCDB
-plan_fillColor_subplan = lightGray
-[schematics]
-viewport = 178 262 638 516
-schBackgroundColor = black lineSolid
-schBackgroundColor_qt = #000000 qt_solidLine 1
-schBodyColor = orange6 lineSolid
-schBodyColor_qt = #ffb973 qt_solidLine 1
-schAsmBodyColor = blue7 lineSolid
-schAsmBodyColor_qt = #a5a5ff qt_solidLine 1
-schPortColor = orange6 lineSolid
-schPortColor_qt = #ffb973 qt_solidLine 1
-schCellNameColor = Gray6 lineSolid
-schCellNameColor_qt = #e0e0e0 qt_solidLine 1
-schCLKNetColor = red6 lineSolid
-schCLKNetColor_qt = #ff7373 qt_solidLine 1
-schPWRNetColor = red4 lineSolid
-schPWRNetColor_qt = #ff0101 qt_solidLine 1
-schGNDNetColor = cyan4 lineSolid
-schGNDNetColor_qt = #01ffff qt_solidLine 1
-schSIGNetColor = green8 lineSolid
-schSIGNetColor_qt = #cdffcd qt_solidLine 1
-schTraceColor = yellow4 lineSolid
-schTraceColor_qt = #ffff01 qt_solidLine 2
-schBackAnnotateColor = white lineSolid
-schBackAnnotateColor_qt = #ffffff qt_solidLine 1
-schValue0 = yellow4 lineSolid
-schValue0_qt = #ffff01 qt_solidLine 1
-schValue1 = green3 lineSolid
-schValue1_qt = #008000 qt_solidLine 1
-schValueX = red4 lineSolid
-schValueX_qt = #ff0101 qt_solidLine 1
-schValueZ = purple7 lineSolid
-schValueZ_qt = #ffcdff qt_solidLine 1
-dimColor = cyan2 lineSolid
-dimColor_qt = #008080 qt_solidLine 1
-schPreSelColor = green4 lineDash
-schPreSelColor_qt = #01ff01 qt_dashLine 2
-schSIGBusNetColor = green8 lineSolid
-schSIGBusNetColor_qt = #cdffcd qt_solidLine
-schGNDBusNetColor = cyan4 lineSolid
-schGNDBusNetColor_qt = #01ffff qt_solidLine
-schPWRBusNetColor = red4 lineSolid
-schPWRBusNetColor_qt = #ff0101 qt_solidLine
-schCLKBusNetColor = red6 lineSolid
-schCLKBusNetColor_qt = #ff7373 qt_solidLine
-schEdgeSensitiveColor = orange6 lineSolid
-schEdgeSensitiveColor_qt = #ffb973 qt_solidLine
-schAnnotColor = cyan4 lineSolid
-schAnnotColor_qt = #01ffff qt_solidLine
-schInstNameColor = orange6 lineSolid
-schInstNameColor_qt = #ffb973 qt_solidLine
-schPortNameColor = cyan4 lineSolid
-schPortNameColor_qt = #01ffff qt_solidLine
-schAsmLatchColor = cyan4 lineSolid
-schAsmLatchColor_qt = #01ffff qt_solidLine
-schAsmRegColor = cyan4 lineSolid
-schAsmRegColor_qt = #01ffff qt_solidLine
-schAsmTriColor = cyan4 lineSolid
-schAsmTriColor_qt = #01ffff qt_solidLine
-pre_select = True
-ShowPassThroughNet = False
-ComputedAnnotColor = ID_PURPLE5
-[schematics_print]
-Signature = FALSE
-DesignName = PCU
-DesignerName = bai
-SignatureLocation = LowerRight
-MultiPage = TRUE
-AutoSliver = FALSE
-[sourceColors]
-BackgroundActive = gray88
-BackgroundInactive = lightgray
-InactiveCode = dimgray
-Selection = darkblue
-Standard = black
-Keyword = blue
-Comment = gray25
-Number = black
-String = black
-Identifier = darkred
-Inline = green
-colorIdentifier = green
-Value = darkgreen
-MacroBackground = white
-Missing = #400040
-[specColors]
-top_plan_linked = #ADFFA6
-top_plan_ignore = #D3D3D3
-top_plan_todo = #EECBAD
-sub_plan_ignore = #919191
-sub_plan_todo = #EFAFAF
-sub_plan_linked = darkorange
-[spec_link_setting]
-use_spline = true
-goto_section = false
-exclude_ignore = true
-truncate_abstract = false
-abstract_length = 999
-compare_strategy = 2
-auto_apply_margin = FALSE
-margin_top = 0.80
-margin_bottom = 0.80
-margin_left = 0.50
-margin_right = 0.50
-margin_unit = inches
-[spiceDebug]
-ThroughNet = ID_YELLOW5
-InstrumentSig = ID_GREEN5
-InterfaceElement = ID_GREEN5
-Run-timeInterfaceElement = ID_BLUE5
-HighlightThroughNet = TRUE
-HighlightInterfaceElement = TRUE
-HighlightRuntimeInterfaceElement = TRUE
-HighlightSameNet = TRUE
-[surefire]
-TPLanguage = Verilog
-TPName = SureFire
-TPPath = verilog
-TPOption =
-AddImportArgument = TRUE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -tcl
-[turboSchema_Printer_Options]
-Orientation = Landscape
-[turbo_library]
-bdb_load_scope =
-[vdCovFilteringSearchesStrings]
-keepLastUsedFiltersMaxNum = 10
-[verisity]
-TPLanguage = Verilog
-TPName = "Verisity SpeXsim"
-TPPath = vlg
-TPOption =
-AddImportArgument = FALSE
-LineBreakWithScope = TRUE
-StopAfterCompileOption = -s
-[wave.0]
-viewPort = 0 27 1017 282 229 65
-[wave.1]
-viewPort = 127 219 960 332 100 65
-[wave.2]
-viewPort = 38 314 686 205 100 65
-[wave.3]
-viewPort = 63 63 700 400 65 41
-[wave.4]
-viewPort = 84 84 700 400 65 41
-[wave.5]
-viewPort = 92 105 700 400 65 41
-[wave.6]
-viewPort = 0 0 700 400 65 41
-[wave.7]
-viewPort = 21 21 700 400 65 41
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses b/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses
deleted file mode 100644
index 23662cc..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses
+++ /dev/null
@@ -1,82 +0,0 @@
-@verdi rc file Version 1.0
-[General]
-saveDB = TRUE
-relativePath = FALSE
-saveSingleView = FALSE
-saveNWaveWinId =
-VerdiVersion = Verdi_O-2018.09-SP2
-[KeyNote]
-Line1 = Automatic Backup 0
-Line2 = Save Open Database Information: Yes
-Line3 = Path Option: Absolute Paths
-Line4 = Windows Option: All Windows
-[TestBench]
-ConstrViewShow = 0
-InherViewShow = 0
-FSDBMsgShow = 0
-AnnotationShow = 0
-Console = FALSE
-powerDumped = 0
-[hb]
-postSimFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb
-syncTime = 104685000
-viewport = 602 297 1017 794 0 0 281 1015
-activeNode = "TB"
-activeScope = "TB"
-activeFile = "../../sim/lvds/TB.sv"
-interactiveMode = False
-viewType = Source
-simulatorMode = False
-sourceBeginLine = 277
-baMode = False
-srcLineNum = True
-AutoWrap = True
-IdentifyFalseLogic = False
-syncSignal = False
-traceMode = Hierarchical
-showTraceInSchema = True
-paMode = False
-funcMode = False
-powerAwareAnnot = True
-amsAnnot = True
-traceCrossHier = True
-DnDtraceCrossHierOnly = True
-traceIncTopPort = False
-leadingZero = False
-signalPane = False
-Scope1 = "TB"
-Scope2 = "TB.dut"
-sdfCheckUndef = FALSE
-simFlow = FALSE
-[hb.design]
-importCmd = "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-invokeDir = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds
-[hb.sourceTab.1]
-scope = TB
-File = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/TB.sv
-Line = 278
-[nMemoryManager]
-WaveformFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb
-UserActionNum = 0
-nMemWindowNum = 0
-[wave.0]
-viewPort = 0 27 1017 301 229 65
-primaryWindow = TRUE
-SessionFile = /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.wave.0
-displayGrid = FALSE
-hierarchicalName = FALSE
-snap = TRUE
-displayLeadingZeros = FALSE
-fixDelta = FALSE
-displayCursorMarker = FALSE
-autoUpdate = FALSE
-highlightGlitchs = FALSE
-waveformSyncCursorMarker = FALSE
-waveformSyncHorizontalRange = FALSE
-waveformSyncVerticalscroll = FALSE
-displayErrors = TRUE
-displayMsgSymbols = TRUE
-showMsgDescriptions = TRUE
-autoFit = FALSE
-displayDeltaY = FALSE
-centerCursor = FALSE
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.config b/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.config
deleted file mode 100644
index d6f964f..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.config
+++ /dev/null
@@ -1,55 +0,0 @@
-[qBaseWindowStateGroup]
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\Verdi=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\nWave=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\hdlSrc=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\messageWindow=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\svtbHier=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\OneSearch=1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1=7
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1
-qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_encode_to_relative_window_id_name=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_restoreNewChildState=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\ProductVersion=201809
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\0\xd6\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\0\xe9\0\0\0\xc6\0\0\0k\0\0\0k\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\x1\0\0\0\xdc\0\0\x3\x1d\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x3\xf9\0\0\x1\x63\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x3\xf9\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x3\xf9\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xbb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)"
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isNestedWindow=0
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isVisible=true
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\size=@Size(1017 794)
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_x=602
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_y=297
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_width=1017
-Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_height=794
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.png b/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.png
deleted file mode 100644
index a621c94..0000000
Binary files a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.png and /dev/null differ
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.wave.0 b/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.wave.0
deleted file mode 100644
index e9a550d..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/novas_autosave.ses.wave.0
+++ /dev/null
@@ -1,73 +0,0 @@
-Magic 271485
-Revision Verdi_O-2018.09-SP2
-
-; Window Layout
-viewPort 0 27 1017 301 229 65
-
-; File list:
-; openDirFile [-d delimiter] [-s time_offset] [-rf auto_bus_rule_file] path_name file_name
-openDirFile -d / "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb"
-
-; file time scale:
-; fileTimeScale ### s|ms|us|ns|ps
-
-; signal spacing:
-signalSpacing 5
-
-; windowTimeUnit is used for zoom, cursor & marker
-; waveform viewport range
-zoom 104198385.824836 105096545.781257
-cursor 104685000.000000
-marker 0.000000
-
-; user define markers
-; userMarker time_pos marker_name color linestyle
-; visible top row signal index
-top 7
-; marker line index
-markerPos 19
-
-; event list
-; addEvent event_name event_expression
-; curEvent event_name
-
-
-
-COMPLEX_EVENT_BEGIN
-
-
-COMPLEX_EVENT_END
-
-
-
-; toolbar current search type
-; curSTATUS search_type
-curSTATUS ByChange
-
-
-addGroup "Basic"
-activeDirFile "" "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb"
-addSignal -h 15 /TB/clk
-addSignal -h 15 -holdScope rst_n
-addSignal -expanded -h 15 -UNSIGNED -HEX -holdScope serial_in[3:0]
-addSignal -h 15 -holdScope serial_in[3]
-addSignal -h 15 -holdScope serial_in[2]
-addSignal -h 15 -holdScope serial_in[1]
-addSignal -h 15 -holdScope serial_in[0]
-addSignal -h 15 -holdScope train_ready
-addSignal -h 15 -holdScope link_down
-addGroup "SRAM"
-addSignal -h 15 -UNSIGNED -HEX /TB/wr_addr[12:0]
-addSignal -h 15 -holdScope wr_data[511:0]
-addSignal -h 15 -holdScope wr_en
-addSignal -h 15 -holdScope byte_mask[63:0]
-addGroup "STATUS"
-addSignal -h 15 /TB/crc_error
-addSignal -h 15 -holdScope train_status[31:0]
-addSignal -h 15 -holdScope frame_status[31:0]
-addSignal -h 15 -holdScope always_on
-addGroup "G4"
-
-; getSignalForm Scope Hierarchy Status
-; active file of getSignalForm
-
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/pes.bat b/DA4008_V1.2/sim/lvds/verdiLog/pes.bat
deleted file mode 100644
index 7c6e4ac..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/pes.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-where
-detach
-quit
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/turbo.log b/DA4008_V1.2/sim/lvds/verdiLog/turbo.log
deleted file mode 100644
index c5a08c1..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/turbo.log
+++ /dev/null
@@ -1,3 +0,0 @@
-Command Line: /opt/synopsys/verdi/Verdi_O-2018.09-SP2/platform/LINUXAMD64/bin/Novas -sverilog -f filelist_vlg.f -top TB -ssf verdplus_000.fsdb -nologo
-uname(Linux cryo1 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64)
-au time 11158.911737 126.304460 117.382513 delta 1954689024 1954689024 total 2379776000 2379776000
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd b/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd
deleted file mode 100644
index 6761779..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd
+++ /dev/null
@@ -1,582 +0,0 @@
-sidCmdLineBehaviorAnalysisOpt -incr -clockSkew 0 -loopUnroll 0 -bboxEmptyModule 0 -cellModel 0 -bboxIgnoreProtected 0
-debImport "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-debLoadSimResult \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb
-wvCreateWindow
-wvRestoreSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc" \
- -overWriteAutoAlias on -appendSignals on
-wvScrollDown -win $_nWave2 12
-wvSelectSignal -win $_nWave2 {( "write_SRAM" 6 )}
-wvScrollUp -win $_nWave2 4
-wvSelectGroup -win $_nWave2 {write_SRAM}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G4" 9)}
-wvScrollUp -win $_nWave2 3
-wvSelectGroup -win $_nWave2 {G4}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSelectGroup -win $_nWave2 {G3}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G1" 0)}
-wvSelectGroup -win $_nWave2 {G1}
-wvCut -win $_nWave2
-wvSetPosition -win $_nWave2 {("G1" 0)}
-wvSelectGroup -win $_nWave2 {G1}
-wvRenameGroup -win $_nWave2 {G1} {Basic}
-wvSelectGroup -win $_nWave2 {Basic}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "clk" -line 64 -pos 2 -win $_nTrace1
-wvAddSignal -win $_nWave2 "/TB/clk"
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "rst_n" -line 65 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("G2" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvAddSignal -win $_nWave2 "/TB/rst_n"
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "serial_in" -line 66 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvAddSignal -win $_nWave2 "/TB/serial_in\[3:0\]"
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSelectSignal -win $_nWave2 {( "Basic" 3 )}
-wvExpandBus -win $_nWave2 {("Basic" 3)}
-wvSelectSignal -win $_nWave2 {( "Basic" 3 )}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvCollapseBus -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "tap_step" -line 68 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "train_ready" -line 86 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("G2" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvAddSignal -win $_nWave2 "/TB/train_ready"
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "prefill_start" -line 85 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "link_down" -line 70 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvAddSignal -win $_nWave2 "/TB/link_down"
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSelectSignal -win $_nWave2 {( "Basic" 5 )}
-wvSetPosition -win $_nWave2 {("Basic" 5)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvMoveSelected -win $_nWave2
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetCursor -win $_nWave2 106093161.210239 -snap {("G2" 0)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 101443997.004330 127466174.044048
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 101680890.812986 -snap {("Basic" 5)}
-wvSelectSignal -win $_nWave2 {( "Basic" 5 )}
-wvSelectSignal -win $_nWave2 {( "Basic" 4 )}
-wvSelectGroup -win $_nWave2 {G2}
-wvRenameGroup -win $_nWave2 {G2} {SRAM}
-wvSelectGroup -win $_nWave2 {SRAM}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wr_addr" -line 72 -pos 2 -win $_nTrace1
-srcSelect -signal "wr_data" -line 73 -pos 2 -win $_nTrace1
-srcSelect -signal "wr_en" -line 74 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("Basic" 5)}
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvAddSignal -win $_nWave2 "/TB/wr_addr\[12:0\]" "/TB/wr_data\[511:0\]" \
- "/TB/wr_en"
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvSetCursor -win $_nWave2 105909494.581940 -snap {("SRAM" 2)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "byte_mask" -line 75 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("SRAM" 2)}
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvSetPosition -win $_nWave2 {("G3" 0)}
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvAddSignal -win $_nWave2 "/TB/byte_mask\[63:0\]"
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvSetPosition -win $_nWave2 {("SRAM" 4)}
-wvZoom -win $_nWave2 105356523.319846 108186435.072916
-wvSelectGroup -win $_nWave2 {G3}
-wvSelectGroup -win $_nWave2 {G3}
-wvRenameGroup -win $_nWave2 {G3} {STATUS}
-wvSelectGroup -win $_nWave2 {STATUS}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "crc_error" -line 76 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 2)}
-wvSetPosition -win $_nWave2 {("SRAM" 3)}
-wvSetPosition -win $_nWave2 {("SRAM" 4)}
-wvSetPosition -win $_nWave2 {("STATUS" 0)}
-wvAddSignal -win $_nWave2 "/TB/crc_error"
-wvSetPosition -win $_nWave2 {("STATUS" 0)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "tap_adj_mask" -line 77 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "link_down" -line 70 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "descram_en" -line 69 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wr_addr" -line 72 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "delay_tap" -line 71 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "train_status" -line 81 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("Basic" 5)}
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvSetPosition -win $_nWave2 {("G4" 0)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvAddSignal -win $_nWave2 "/TB/train_status\[31:0\]"
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 2)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "frame_status" -line 82 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("Basic" 5)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("SRAM" 4)}
-wvSetPosition -win $_nWave2 {("STATUS" 0)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 2)}
-wvAddSignal -win $_nWave2 "/TB/frame_status\[31:0\]"
-wvSetPosition -win $_nWave2 {("STATUS" 2)}
-wvSetPosition -win $_nWave2 {("STATUS" 3)}
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "always_on" -line 83 -pos 2 -win $_nTrace1
-wvSetPosition -win $_nWave2 {("Basic" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 1)}
-wvSetPosition -win $_nWave2 {("Basic" 2)}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("Basic" 4)}
-wvSetPosition -win $_nWave2 {("STATUS" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 2)}
-wvSetPosition -win $_nWave2 {("STATUS" 3)}
-wvSetPosition -win $_nWave2 {("G4" 0)}
-wvSetPosition -win $_nWave2 {("STATUS" 3)}
-wvAddSignal -win $_nWave2 "/TB/always_on"
-wvSetPosition -win $_nWave2 {("STATUS" 3)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "STATUS" 1 )}
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvSaveSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc"
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB.dut" -win $_nTrace1
-srcHBSelect "TB.dut" -win $_nTrace1
-srcHBSelect "TB.Unnamed_\$TB_sv_346" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSearchString "success" -win $_nTrace1 -next -case
-srcSearchString "success" -win $_nTrace1 -next -case
-srcSearchString "success" -win $_nTrace1 -next -case
-srcSearchString "success" -win $_nTrace1 -next -case
-srcHBSelect "TB.dut.U_prefill" -win $_nTrace1
-srcHBSelect "TB.dut.U_prefill.delay_counter_dffr" -win $_nTrace1
-srcHBSelect "TB.dut" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "TRAINING_PATN" -line 274 -pos 1 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -all -win $_nTrace1
-srcSelect -win $_nTrace1 -range {1 479 1 2 1 1}
-srcDeselectAll -win $_nTrace1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvSetCursor -win $_nWave2 101125805.249006 -snap {("Basic" 3)}
-wvZoomAll -win $_nWave2
-wvZoom -win $_nWave2 101425058.500000 103671816.125000
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "Basic" 3 )}
-wvSelectSignal -win $_nWave2 {( "Basic" 3 )}
-wvSetPosition -win $_nWave2 {("Basic" 3)}
-wvExpandBus -win $_nWave2 {("Basic" 3)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvSetCursor -win $_nWave2 101450334.523281 -snap {("Basic" 7)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104402012.353125 105783768.292500
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "frame_words\[1\]" -line 289 -pos 1 -win $_nTrace1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 2
-wvSelectSignal -win $_nWave2 {( "SRAM" 4 )}
-srcDeselectAll -win $_nTrace1
-wvZoom -win $_nWave2 105984122.903672 106471191.872302
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvSetCursor -win $_nWave2 106543338.963214 -snap {("SRAM" 3)}
-wvSetCursor -win $_nWave2 106233397.734100 -snap {("SRAM" 4)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "frame_words\[1\]" -line 289 -pos 1 -win $_nTrace1
-srcAction -pos 288 1 9 -win $_nTrace1 -name "frame_words\[1\]" -ctrlKey off
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-wvSetCursor -win $_nWave2 106325873.493219 -snap {("STATUS" 4)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104393988.218750 128225667.312500
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-nsMsgSwitchTab -tab general
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {395 395 2 3 1 1}
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -prev -case
-srcSelect -win $_nTrace1 -range {289 289 2 3 1 1}
-srcDeselectAll -win $_nTrace1
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-wvZoom -win $_nWave2 105689835.769423 105957942.159227
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 101146540.795834 128300355.955253
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcSearchString "frame_words\[1\]" -win $_nTrace1 -next -case
-srcDeselectAll -win $_nTrace1
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSetRadix -win $_nWave2 -format UDec
-wvZoom -win $_nWave2 105779660.507376 107103408.996398
-wvSetCursor -win $_nWave2 106259519.334570 -snap {("STATUS" 0)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSetRadix -win $_nWave2 -format Hex
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvExpandBus -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvScrollUp -win $_nWave2 2
-wvSelectGroup -win $_nWave2 {SRAM}
-wvSelectGroup -win $_nWave2 {SRAM}
-wvSelectGroup -win $_nWave2 {SRAM}
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvCollapseBus -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvShowFilterTextField -win $_nWave2 -on
-wvShowFilterTextField -win $_nWave2 -off
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 9)}
-wvSetPosition -win $_nWave2 {("Basic" 8)}
-wvSetPosition -win $_nWave2 {("Basic" 7)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 9)}
-wvSetPosition -win $_nWave2 {("Basic" 8)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-wvSetPosition -win $_nWave2 {("SRAM" 1)}
-wvSetPosition -win $_nWave2 {("SRAM" 0)}
-wvSetPosition -win $_nWave2 {("Basic" 9)}
-wvSetPosition -win $_nWave2 {("Basic" 8)}
-wvSetPosition -win $_nWave2 {("Basic" 7)}
-wvSetPosition -win $_nWave2 {("STATUS" 4)}
-srcSearchString "TB.wr_addr" -win $_nTrace1 -prev -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -next -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -next -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -next -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -prev -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -prev -case
-srcSearchString "TB.wr_addr" -win $_nTrace1 -prev -case
-wvZoom -win $_nWave2 105448723.385117 107182833.905736
-srcDeselectAll -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.dut" -delim "."
-srcHBSelect "TB.dut" -win $_nTrace1
-wvScrollDown -win $_nWave2 2
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "train_en" -line 78 -pos 2 -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "serial_in" -line 66 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "link_down" -line 70 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "byte_mask" -line 75 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wr_en" -line 74 -pos 2 -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-srcSelect -signal "wr_addr" -line 72 -pos 2 -win $_nTrace1
-verdiWindowResize -win $_Verdi_1 "357" "162" "1017" "706"
-srcHBSelect "TB.dut" -win $_nTrace1
-srcHBSelect "TB.dut" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB.dut" -delim "."
-srcHBSelect "TB.dut" -win $_nTrace1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvSetCursor -win $_nWave2 106062935.488214 -snap {("SRAM" 3)}
-wvSelectSignal -win $_nWave2 {( "SRAM" 3 )}
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvSelectSignal -win $_nWave2 {( "SRAM" 3 )}
-wvSelectSignal -win $_nWave2 {( "SRAM" 3 )}
-wvZoom -win $_nWave2 105970726.882644 106181489.409661
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvZoomOut -win $_nWave2
-srcDeselectAll -win $_nTrace1
-srcHBSelect "TB" -win $_nTrace1
-srcSetScope -win $_nTrace1 "TB" -delim "."
-srcHBSelect "TB" -win $_nTrace1
-srcDeselectAll -win $_nTrace1
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 101422838.093140 -snap {("STATUS" 2)}
-wvSelectSignal -win $_nWave2 {( "Basic" 9 )}
-wvScrollUp -win $_nWave2 2
-wvSelectSignal -win $_nWave2 {( "Basic" 8 )}
-wvScrollUp -win $_nWave2 3
-srcDeselectAll -win $_nTrace1
-wvSetCursor -win $_nWave2 109677303.689821 -snap {("Basic" 8)}
-srcDeselectAll -win $_nTrace1
-wvSetCursor -win $_nWave2 104632908.047405 -snap {("Basic" 8)}
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104556477.810399 104718892.064037
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104672908.528377 104677476.429261
-wvSetCursor -win $_nWave2 104675192.478742 -snap {("Basic" 8)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvSetCursor -win $_nWave2 104684922.107616 -snap {("Basic" 1)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 104695291.242656 -snap {("Basic" 1)}
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104694514.699506 104695291.242656
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 104674961.342909 -snap {("Basic" 1)}
-wvSetCursor -win $_nWave2 104675023.466361 -snap {("Basic" 8)}
-wvSetCursor -win $_nWave2 104674899.219457 -snap {("Basic" 1)}
-wvSetCursor -win $_nWave2 104675147.713265 -snap {("Basic" 9)}
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvSetCursor -win $_nWave2 104673191.063018 -snap {("Basic" 8)}
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomIn -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoom -win $_nWave2 104601624.846294 104728853.676026
-wvZoomIn -win $_nWave2
-wvSetCursor -win $_nWave2 104684999.488751 -snap {("Basic" 1)}
-wvSetCursor -win $_nWave2 104674980.218409 -snap {("Basic" 1)}
-wvSetCursor -win $_nWave2 104685277.801816 -snap {("Basic" 1)}
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-srcDeselectAll -win $_nTrace1
-verdiWindowResize -win $_Verdi_1 "257" "231" "1017" "706"
-verdiWindowResize -win $_Verdi_1 "602" "297" "1017" "794"
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-wvScrollDown -win $_nWave2 12
-wvSelectSignal -win $_nWave2 {( "STATUS" 4 )}
-wvSelectSignal -win $_nWave2 {( "STATUS" 2 )}
-wvScrollUp -win $_nWave2 2
-wvScrollUp -win $_nWave2 6
-wvScrollDown -win $_nWave2 3
-wvSelectGroup -win $_nWave2 {SRAM}
-wvSelectSignal -win $_nWave2 {( "SRAM" 1 )}
-wvSelectSignal -win $_nWave2 {( "SRAM" 2 )}
-debExit
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd.bak b/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd.bak
deleted file mode 100644
index e583bba..0000000
--- a/DA4008_V1.2/sim/lvds/verdiLog/verdi.cmd.bak
+++ /dev/null
@@ -1,36 +0,0 @@
-sidCmdLineBehaviorAnalysisOpt -incr -clockSkew 0 -loopUnroll 0 -bboxEmptyModule 0 -cellModel 0 -bboxIgnoreProtected 0
-debImport "-sverilog" "-f" "filelist_vlg.f" "-top" "TB"
-debLoadSimResult \
- /home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/verdplus_000.fsdb
-wvCreateWindow
-wvRestoreSignal -win $_nWave2 \
- "/home/shbyang/Desktop/workplace/lin-win-share/DA4008_V1.2/sim/lvds/my_signal.rc" \
- -overWriteAutoAlias on -appendSignals on
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollUp -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 1
-wvScrollDown -win $_nWave2 0
-wvScrollDown -win $_nWave2 0
-wvZoomOut -win $_nWave2
-wvZoomOut -win $_nWave2
-debExit
diff --git a/DA4008_V1.2/sim/lvds/verdiLog/verdi_perf_err.log b/DA4008_V1.2/sim/lvds/verdiLog/verdi_perf_err.log
deleted file mode 100644
index e69de29..0000000
diff --git a/DA4008_V1.2/sim/lvds/verdplus.log b/DA4008_V1.2/sim/lvds/verdplus.log
deleted file mode 100644
index e6f3ad5..0000000
--- a/DA4008_V1.2/sim/lvds/verdplus.log
+++ /dev/null
@@ -1,2 +0,0 @@
-File Name Time
-./verdplus_000.fsdb 0 to 127,115,000
diff --git a/DA4008_V1.2/sim/lvds/verdplus.vf b/DA4008_V1.2/sim/lvds/verdplus.vf
deleted file mode 100644
index 1ef6a51..0000000
--- a/DA4008_V1.2/sim/lvds/verdplus.vf
+++ /dev/null
@@ -1,7 +0,0 @@
-@FSDB rc file Version 1.0
-[VRTL_FILE_HEADER]
-# !! DON'T EDIT [VRTL_FILE_HEADER] SESSION !!
-Version = 1
-[VRTL_FILE_SOURCE]
-FileType = switch
-File1 = ./verdplus_000.fsdb
diff --git a/DA4008_V1.2/sim/lvds/verdplus_000.fsdb b/DA4008_V1.2/sim/lvds/verdplus_000.fsdb
deleted file mode 100644
index be84163..0000000
Binary files a/DA4008_V1.2/sim/lvds/verdplus_000.fsdb and /dev/null differ
diff --git a/DA4008_V1.2/case/config/0301/case0.txt b/DA4008_V1.3/case/config/0301/case0.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0301/case0.txt
rename to DA4008_V1.3/case/config/0301/case0.txt
diff --git a/DA4008_V1.2/case/config/0301/case1.txt b/DA4008_V1.3/case/config/0301/case1.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0301/case1.txt
rename to DA4008_V1.3/case/config/0301/case1.txt
diff --git a/DA4008_V1.2/case/config/0301/case2.txt b/DA4008_V1.3/case/config/0301/case2.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0301/case2.txt
rename to DA4008_V1.3/case/config/0301/case2.txt
diff --git a/DA4008_V1.2/case/config/0301/case3.txt b/DA4008_V1.3/case/config/0301/case3.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0301/case3.txt
rename to DA4008_V1.3/case/config/0301/case3.txt
diff --git a/DA4008_V1.2/case/config/0301/case4.txt b/DA4008_V1.3/case/config/0301/case4.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0301/case4.txt
rename to DA4008_V1.3/case/config/0301/case4.txt
diff --git a/DA4008_V1.2/case/config/0305/1GHZ.txt b/DA4008_V1.3/case/config/0305/1GHZ.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0305/1GHZ.txt
rename to DA4008_V1.3/case/config/0305/1GHZ.txt
diff --git a/DA4008_V1.3/case/config/0305/NCO_1GHZ.txt b/DA4008_V1.3/case/config/0305/NCO_1GHZ.txt
new file mode 100644
index 0000000..00efcb5
--- /dev/null
+++ b/DA4008_V1.3/case/config/0305/NCO_1GHZ.txt
@@ -0,0 +1,21 @@
+0000002c
+00000004
+00000004
+
+00000068
+00000004
+15555555
+
+0000006c
+00000004
+00000000
+
+00000070
+00000004
+00000000
+
+00000074
+00000004
+00000007
+
+
diff --git a/DA4008_V1.2/case/config/0305/flattop.txt b/DA4008_V1.3/case/config/0305/flattop.txt
similarity index 100%
rename from DA4008_V1.2/case/config/0305/flattop.txt
rename to DA4008_V1.3/case/config/0305/flattop.txt
diff --git a/DA4008_V1.3/case/config/0316/NCO_1GHZ.txt b/DA4008_V1.3/case/config/0316/NCO_1GHZ.txt
new file mode 100644
index 0000000..d7bdd51
--- /dev/null
+++ b/DA4008_V1.3/case/config/0316/NCO_1GHZ.txt
@@ -0,0 +1,13 @@
+0000002c
+00000004
+00000004
+
+00000068
+00000004
+15555555
+
+00000074
+00000004
+00000007
+
+
diff --git a/DA4008_V1.2/case/lvds/0305/lvds.txt b/DA4008_V1.3/case/lvds/0305/lvds (copy).txt
similarity index 100%
rename from DA4008_V1.2/case/lvds/0305/lvds.txt
rename to DA4008_V1.3/case/lvds/0305/lvds (copy).txt
diff --git a/wave/sin/sine_1g_lvds.txt b/DA4008_V1.3/case/lvds/0305/lvds.txt
similarity index 100%
rename from wave/sin/sine_1g_lvds.txt
rename to DA4008_V1.3/case/lvds/0305/lvds.txt
diff --git a/DA4008_V1.2/case/config/try/sine_1g.txt b/DA4008_V1.3/case/lvds/0316/lvds.txt
similarity index 61%
rename from DA4008_V1.2/case/config/try/sine_1g.txt
rename to DA4008_V1.3/case/lvds/0316/lvds.txt
index a3d68dc..992accd 100644
--- a/DA4008_V1.2/case/config/try/sine_1g.txt
+++ b/DA4008_V1.3/case/lvds/0316/lvds.txt
@@ -1,8 +1,5 @@
-00100000
-00000004
-0c000010
-00200000
-00000400
+bcbcbcbc
+000000a0
b9a79380
f1e6d9ca
fdfffdf8
@@ -163,99 +160,5 @@ d9e6f1f8
02010207
26190e07
6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a79380
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c7f
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
-0e192635
-02010207
-26190e07
-6c584635
-b9a7937f
-f1e6d9ca
-fdfffdf8
-d9e6f1f8
-93a7b9ca
-46586c80
+17738bd1
+
diff --git a/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140.v b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140.v
new file mode 100644
index 0000000..c7e871d
--- /dev/null
+++ b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140.v
@@ -0,0 +1,74078 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/// TSMC Library/IP Product
+/// Filename: tcbn28hpcplusbwp7t35p140.v
+/// Technology: CLN28HT
+/// Product Type: Standard Cell
+/// Product Name: tcbn28hpcplusbwp7t35p140
+/// Version: 110a
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////
+/// STATEMENT OF USE
+///
+/// This information contains confidential and proprietary information of TSMC.
+/// No part of this information may be reproduced, transmitted, transcribed,
+/// stored in a retrieval system, or translated into any human or computer
+/// language, in any form or by any means, electronic, mechanical, magnetic,
+/// optical, chemical, manual, or otherwise, without the prior written permission
+/// of TSMC. This information was prepared for informational purpose and is for
+/// use by TSMC's customers only. TSMC reserves the right to make changes in the
+/// information at any time and without notice.
+///
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+`timescale 1ns/1ps
+`celldefine
+module AN2D0BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D8BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD12BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD8BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D0BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D1BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D2BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D4BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D8BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D0BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D1BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D2BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D4BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D8BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ANTENNABWP7T35P140 (I);
+ input I;
+ buf (I_buf, I);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D0BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D1BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D2BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D4BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D0BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D1BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D2BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D4BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D0BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D1BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D2BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D4BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D0BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D1BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D2BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D4BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D0BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D1BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D2BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D4BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D0BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D1BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D2BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D4BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D0BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D1BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D2BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D4BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D0BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D1BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D2BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D4BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D0BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D1BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D2BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D4BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD12BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD1BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD2BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD4BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD6BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD8BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D0BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D1BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D2BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D4BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD12BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD1BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD2BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD4BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD6BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD8BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D0BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D1BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D2BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D4BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D0BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D1BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D2BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D4BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D0BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD12BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD6BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD8BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D0BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D1BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D2BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D4BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D0BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D1BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D2BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D4BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D0BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D1BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D2BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D4BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BHDBWP7T35P140 (Z);
+ inout Z;
+ not (weak0, weak1) (Z, Z_buf);
+ not (Z_buf, Z);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module BOUNDARY_LEFTBWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module BOUNDARY_RIGHTBWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD0BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD12BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD16BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD20BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD2BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD3BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD6BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD12BWP7T35P140 (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD16BWP7T35P140 (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD4BWP7T35P140 (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD6BWP7T35P140 (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD8BWP7T35P140 (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D0BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D8BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD0BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD12BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD16BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD20BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD2BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD3BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD6BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD12BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD16BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD1BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD2BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD3BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD4BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD6BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD8BWP7T35P140 ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD12BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD16BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD1BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD20BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD2BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD3BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD4BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD6BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD8BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD12BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD4BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD8BWP7T35P140 (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D0BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D1BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D2BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D4BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND0BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND12BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND16BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND1BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND20BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D0BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D3BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D8BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND3BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND4BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND6BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND8BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D0BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP16BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP32BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP4BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP64BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP8BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD12BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD16BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND12BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND16BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND20BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND4BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND8BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL025D1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL050MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL075MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL100MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL150MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL200MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL250MD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND1BWP7T35P140 (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND2BWP7T35P140 (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND4BWP7T35P140 (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD1BWP7T35P140 (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD2BWP7T35P140 (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD4BWP7T35P140 (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND1BWP7T35P140 (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND2BWP7T35P140 (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND4BWP7T35P140 (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD1BWP7T35P140 (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD2BWP7T35P140 (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD4BWP7T35P140 (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD1BWP7T35P140 (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD2BWP7T35P140 (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD4BWP7T35P140 (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND1BWP7T35P140 (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND2BWP7T35P140 (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND4BWP7T35P140 (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD1BWP7T35P140 (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD2BWP7T35P140 (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD4BWP7T35P140 (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND1BWP7T35P140 (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND2BWP7T35P140 (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND4BWP7T35P140 (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND1BWP7T35P140 (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND2BWP7T35P140 (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND4BWP7T35P140 (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD1BWP7T35P140 (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD2BWP7T35P140 (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD4BWP7T35P140 (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD1BWP7T35P140 (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD2BWP7T35P140 (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD4BWP7T35P140 (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND1BWP7T35P140 (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND2BWP7T35P140 (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND4BWP7T35P140 (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND1BWP7T35P140 (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND2BWP7T35P140 (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND4BWP7T35P140 (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND1BWP7T35P140 (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND2BWP7T35P140 (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND4BWP7T35P140 (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND1BWP7T35P140 (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND2BWP7T35P140 (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND4BWP7T35P140 (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD1BWP7T35P140 (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD2BWP7T35P140 (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD4BWP7T35P140 (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND1BWP7T35P140 (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND2BWP7T35P140 (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND4BWP7T35P140 (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD1BWP7T35P140 (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD2BWP7T35P140 (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD4BWP7T35P140 (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D0BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D1BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D2BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D4BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTCD1BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTSD1BWP7T35P140 (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL16BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL2BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL32BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL3BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL4BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL64BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL8BWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D1BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D2BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D1BWP7T30P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D2BWP7T30P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI22D1BWP7T30P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD1BWP7T30P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD2BWP7T30P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD3BWP7T30P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD4BWP7T30P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD8BWP7T30P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP10BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP12BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP2BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP3BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP4BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAPBWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFCNQD1BWP7T30P140 (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFQD1BWP7T30P140 (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL10BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL12BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL2BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL3BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL4BWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILLBWP7T30P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD1BWP7T30P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD2BWP7T30P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD3BWP7T30P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD4BWP7T30P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD8BWP7T30P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D1BWP7T30P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D2BWP7T30P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND1BWP7T30P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND2BWP7T30P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D1BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D2BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D3BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D4BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D1BWP7T30P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D2BWP7T30P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D1BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D2BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D1BWP7T30P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D2BWP7T30P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D1BWP7T30P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D2BWP7T30P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D1BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D2BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GSDFCNQD1BWP7T30P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIEHBWP7T30P140 (Z);
+ output Z;
+ buf (Z, 1'b1);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIELBWP7T30P140 (ZN);
+ output ZN;
+ buf (ZN, 1'b0);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D1BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D2BWP7T30P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D1BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D2BWP7T30P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D0BWP7T35P140 (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D1BWP7T35P140 (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D2BWP7T35P140 (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D4BWP7T35P140 (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D0BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D1BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D2BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D4BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD12BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD1BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD2BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD4BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD8BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D0BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D1BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D2BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D4BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D0BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D1BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D2BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D4BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D0BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D1BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D2BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D4BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD12BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD1BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD2BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD4BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD8BWP7T35P140 (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D0BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D1BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D2BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D4BWP7T35P140 (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D0BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D1BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D2BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D4BWP7T35P140 (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD0BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD12BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD16BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD1BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD20BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD2BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD3BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD4BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD6BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD8BWP7T35P140 (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND1BWP7T35P140 (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND2BWP7T35P140 (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND4BWP7T35P140 (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD1BWP7T35P140 (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD2BWP7T35P140 (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD4BWP7T35P140 (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND1BWP7T35P140 (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND2BWP7T35P140 (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND4BWP7T35P140 (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD1BWP7T35P140 (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD2BWP7T35P140 (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD4BWP7T35P140 (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD1BWP7T35P140 (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD2BWP7T35P140 (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD4BWP7T35P140 (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD1BWP7T35P140 (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD2BWP7T35P140 (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD4BWP7T35P140 (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND1BWP7T35P140 (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND2BWP7T35P140 (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND4BWP7T35P140 (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD1BWP7T35P140 (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD2BWP7T35P140 (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD4BWP7T35P140 (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND1BWP7T35P140 (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND2BWP7T35P140 (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND4BWP7T35P140 (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD1BWP7T35P140 (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD2BWP7T35P140 (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD4BWP7T35P140 (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND1BWP7T35P140 (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND2BWP7T35P140 (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND4BWP7T35P140 (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD1BWP7T35P140 (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD2BWP7T35P140 (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD4BWP7T35P140 (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND1BWP7T35P140 (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND2BWP7T35P140 (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND4BWP7T35P140 (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD1BWP7T35P140 (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD2BWP7T35P140 (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD4BWP7T35P140 (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND1BWP7T35P140 (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND2BWP7T35P140 (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND4BWP7T35P140 (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD1BWP7T35P140 (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD2BWP7T35P140 (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD4BWP7T35P140 (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D0BWP7T35P140 (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D1BWP7T35P140 (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D2BWP7T35P140 (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D4BWP7T35P140 (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D0BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D0BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D0BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D1BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D2BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D4BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND0BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND1BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND2BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND4BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND1BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND2BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND4BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND6BWP7T35P140 (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD1BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD2BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD4BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD6BWP7T35P140 (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D0BWP7T35P140 (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D1BWP7T35P140 (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D2BWP7T35P140 (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D4BWP7T35P140 (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND0BWP7T35P140 (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND1BWP7T35P140 (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND2BWP7T35P140 (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND4BWP7T35P140 (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D0BWP7T35P140 (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D1BWP7T35P140 (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D2BWP7T35P140 (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D4BWP7T35P140 (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND0BWP7T35P140 (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND1BWP7T35P140 (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND2BWP7T35P140 (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND4BWP7T35P140 (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D0BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D12BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D16BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D3BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D8BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD12BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD16BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD6BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD8BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D0BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D3BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D8BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD12BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD16BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD6BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD8BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D0BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D1BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D2BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D3BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D4BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D8BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D0BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D12BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D16BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D3BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D8BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD12BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD16BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD6BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD8BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D0BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D3BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D8BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD12BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD16BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD6BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD8BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D0BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D1BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D2BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D3BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D4BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D8BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D0BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D1BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D2BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D4BWP7T35P140 (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D0BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D1BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D2BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D4BWP7T35P140 (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D0BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D1BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D2BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D4BWP7T35P140 (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D0BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D1BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D2BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D4BWP7T35P140 (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D0BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D1BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D2BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D4BWP7T35P140 (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D0BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D1BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D2BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D4BWP7T35P140 (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D0BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D1BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D2BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D4BWP7T35P140 (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D0BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D1BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D2BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D4BWP7T35P140 (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D0BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D1BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D2BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D4BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD12BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD1BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD2BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD4BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD6BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD8BWP7T35P140 (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D0BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D1BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D2BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D4BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD12BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD1BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD2BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD4BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD6BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD8BWP7T35P140 (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D0BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D1BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D2BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D4BWP7T35P140 (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D0BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D1BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D2BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D4BWP7T35P140 (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D0BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD12BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD1BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD2BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD4BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD6BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD8BWP7T35P140 (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D0BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D1BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D2BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D4BWP7T35P140 (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D0BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D1BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D2BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D4BWP7T35P140 (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D0BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D1BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D2BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D4BWP7T35P140 (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D0BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D8BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD12BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD8BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D0BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D1BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D2BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D4BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D8BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D0BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D1BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D2BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D4BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D8BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND0BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND1BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND2BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND4BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD1BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD2BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD4BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD1BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD2BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD4BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD1BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD2BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD4BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD0BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD1BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD2BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD4BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD1BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD2BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD4BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD1BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD2BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD4BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND0BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND1BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND2BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND4BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD0BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD1BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD2BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD4BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD0BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD1BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD2BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD4BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND0BWP7T35P140 (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND1BWP7T35P140 (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND2BWP7T35P140 (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND4BWP7T35P140 (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD0BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD1BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD2BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD4BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD1BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD2BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD4BWP7T35P140 (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND0BWP7T35P140 (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND1BWP7T35P140 (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND2BWP7T35P140 (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND4BWP7T35P140 (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD0BWP7T35P140 (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD1BWP7T35P140 (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD2BWP7T35P140 (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD4BWP7T35P140 (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND0BWP7T35P140 (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND1BWP7T35P140 (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND2BWP7T35P140 (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND4BWP7T35P140 (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD0BWP7T35P140 (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD1BWP7T35P140 (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD2BWP7T35P140 (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD4BWP7T35P140 (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD0BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD1BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD2BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD4BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD0BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD1BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD2BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD4BWP7T35P140 (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND0BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND1BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND2BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND4BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND0BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND1BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND2BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND4BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND0BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND1BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND2BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND4BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND0BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND1BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND2BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND4BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND1BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND2BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND4BWP7T35P140 (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND1BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND2BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND4BWP7T35P140 (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND1BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND2BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND4BWP7T35P140 (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND1BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND2BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND4BWP7T35P140 (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD1BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD2BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD4BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD1BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD2BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD4BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD0BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD1BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD2BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD4BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND0BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND1BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND2BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND4BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD1BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD2BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD4BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD1BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD2BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD4BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD1BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD2BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD4BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND0BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND1BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND2BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND4BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD1BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD2BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD4BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD0BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD1BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD2BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD4BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD1BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD2BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD4BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND1BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND2BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND4BWP7T35P140 (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD1BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD2BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD4BWP7T35P140 (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND1BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND2BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND4BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD1BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD2BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD4BWP7T35P140 (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND1BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND2BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND4BWP7T35P140 (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD1BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD2BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD4BWP7T35P140 (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND1BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND2BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND4BWP7T35P140 (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND1BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND2BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND4BWP7T35P140 (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD1BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD2BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD4BWP7T35P140 (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module TAPCELLBWP7T35P140;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module TIEHBWP7T35P140 (Z);
+ output Z;
+ buf (Z, 1'b1);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module TIELBWP7T35P140 (ZN);
+ output ZN;
+ buf (ZN, 1'b0);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D0BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND1BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND2BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND4BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND6BWP7T35P140 (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D0BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND1BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND2BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND4BWP7T35P140 (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D0BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D1BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D2BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D4BWP7T35P140 (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D0BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND1BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND2BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND4BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND6BWP7T35P140 (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D0BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D1BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D2BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D4BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND1BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND2BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND4BWP7T35P140 (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D0BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D1BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D2BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D4BWP7T35P140 (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID1BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID2BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID4BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID8BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD1BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD2BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD4BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD8BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID2BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID4BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID8BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD2BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD4BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD8BWP7T35P140 (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD1BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD2BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD4BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD8BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD1BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD2BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD4BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD8BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD2BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD1BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD2BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD4BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD8BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD1BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD2BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD4BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD8BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD1BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD2BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD2BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD4BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD8BWP7T35P140 (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD2BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD4BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD8BWP7T35P140 (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+primitive tsmc_dff (q, d, cp, cdn, sdn, notifier);
+ output q;
+ input d, cp, cdn, sdn, notifier;
+ reg q;
+ table
+ ? ? 0 ? ? : ? : 0 ; // CDN dominate SDN
+ ? ? 1 0 ? : ? : 1 ; // SDN is set
+ ? ? 1 x ? : 0 : x ; // SDN affect Q
+ ? ? 1 x ? : 1 : 1 ; // Q=1,preset=X
+ ? ? x 1 ? : 0 : 0 ; // Q=0,clear=X
+ 0 (01) ? 1 ? : ? : 0 ; // Latch 0
+ 0 (0x) 1 1 ? : ? : x ; // Weak clock
+ 0 0 ? 1 ? : 0 : 0 ; // Keep 0 (D==Q)
+ 1 (01) 1 ? ? : ? : 1 ; // Latch 1
+ 1 (0x) 1 ? ? : ? : x ; // Weak clock
+ 1 0 1 ? ? : 1 : 1 ; // Keep 1 (D==Q)
+ ? (1?) 1 1 ? : ? : - ; // ignore negative edge of clock
+ ? 0 1 1 ? : ? : - ; // ignore low-level clock
+ ? ? (?1) 1 ? : ? : - ; // ignore positive edge of CDN
+ ? ? 1 (?1) ? : ? : - ; // ignore posative edge of SDN
+ * ? 1 1 ? : ? : - ; // ignore data change on steady clock
+ ? ? ? ? * : ? : x ; // timing check violation
+ endtable
+endprimitive
+
+primitive tsmc_dla (q, d, e, cdn, sdn, notifier);
+ output q;
+ reg q;
+ input d, e, cdn, sdn, notifier;
+ table
+ 1 1 1 ? ? : ? : 1 ; // Latch 1
+ 0 1 ? 1 ? : ? : 0 ; // Latch 0
+ 0 (10) 1 1 ? : ? : 0 ; // Latch 0 after falling edge
+ 1 (10) 1 1 ? : ? : 1 ; // Latch 1 after falling edge
+ * 0 ? ? ? : ? : - ; // no changes
+ ? ? ? 0 ? : ? : 1 ; // preset to 1
+ ? 0 1 * ? : 1 : 1 ;
+ 1 ? 1 * ? : 1 : 1 ;
+ 1 * 1 ? ? : 1 : 1 ;
+ ? ? 0 1 ? : ? : 0 ; // reset to 0
+ ? 0 * 1 ? : 0 : 0 ;
+ 0 ? * 1 ? : 0 : 0 ;
+ 0 * ? 1 ? : 0 : 0 ;
+ ? ? ? ? * : ? : x ; // toggle notifier
+ endtable
+endprimitive
+
+primitive tsmc_mux (q, d0, d1, s);
+ output q;
+ input s, d0, d1;
+
+ table
+ // d0 d1 s : q
+ 0 ? 0 : 0 ;
+ 1 ? 0 : 1 ;
+ ? 0 1 : 0 ;
+ ? 1 1 : 1 ;
+ 0 0 x : 0 ;
+ 1 1 x : 1 ;
+ endtable
+endprimitive
+
+primitive tsmc_xbuf (o, i, dummy);
+ output o;
+ input i, dummy;
+ table
+ // i dummy : o
+ 0 1 : 0 ;
+ 1 1 : 1 ;
+ x 1 : 1 ;
+ endtable
+endprimitive
+
diff --git a/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140hvt.v b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140hvt.v
new file mode 100644
index 0000000..dbfbf37
--- /dev/null
+++ b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140hvt.v
@@ -0,0 +1,74078 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/// TSMC Library/IP Product
+/// Filename: tcbn28hpcplusbwp7t35p140hvt.v
+/// Technology: CLN28HT
+/// Product Type: Standard Cell
+/// Product Name: tcbn28hpcplusbwp7t35p140hvt
+/// Version: 110a
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////
+/// STATEMENT OF USE
+///
+/// This information contains confidential and proprietary information of TSMC.
+/// No part of this information may be reproduced, transmitted, transcribed,
+/// stored in a retrieval system, or translated into any human or computer
+/// language, in any form or by any means, electronic, mechanical, magnetic,
+/// optical, chemical, manual, or otherwise, without the prior written permission
+/// of TSMC. This information was prepared for informational purpose and is for
+/// use by TSMC's customers only. TSMC reserves the right to make changes in the
+/// information at any time and without notice.
+///
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+`timescale 1ns/1ps
+`celldefine
+module AN2D0BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D8BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD12BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD8BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D0BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D1BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D2BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D4BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D8BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D0BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D1BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D2BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D4BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D8BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ANTENNABWP7T35P140HVT (I);
+ input I;
+ buf (I_buf, I);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D0BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D1BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D2BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D4BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D0BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D1BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D2BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D4BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D0BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D1BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D2BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D4BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D0BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D1BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D2BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D4BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D0BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D1BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D2BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D4BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D0BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D1BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D2BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D4BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D0BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D1BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D2BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D4BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D0BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D1BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D2BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D4BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D0BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D1BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D2BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D4BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD12BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD1BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD2BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD4BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD6BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD8BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D0BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D1BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D2BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D4BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD12BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD1BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD2BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD4BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD6BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD8BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D0BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D1BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D2BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D4BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D0BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D1BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D2BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D4BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D0BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD12BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD6BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD8BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D0BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D1BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D2BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D4BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D0BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D1BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D2BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D4BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D0BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D1BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D2BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D4BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BHDBWP7T35P140HVT (Z);
+ inout Z;
+ not (weak0, weak1) (Z, Z_buf);
+ not (Z_buf, Z);
+
+endmodule
+`endcelldefine
+
+`celldefine
+//module BOUNDARY_LEFTBWP7T35P140;
+ // No function
+//endmodule
+`endcelldefine
+
+`celldefine
+//module BOUNDARY_RIGHTBWP7T35P140;
+ // No function
+//endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD0BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD12BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD16BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD20BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD2BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD3BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD6BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD12BWP7T35P140HVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD16BWP7T35P140HVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD4BWP7T35P140HVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD6BWP7T35P140HVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD8BWP7T35P140HVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D0BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D8BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD0BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD12BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD16BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD20BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD2BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD3BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD6BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD12BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD16BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD1BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD2BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD3BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD4BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD6BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD8BWP7T35P140HVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD12BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD16BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD1BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD20BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD2BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD3BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD4BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD6BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD8BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD12BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD4BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD8BWP7T35P140HVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D0BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D1BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D2BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D4BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND0BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND12BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND16BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND1BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND20BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D0BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D3BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D8BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND3BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND4BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND6BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND8BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D0BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP16BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP32BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP4BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP64BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP8BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD12BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD16BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND12BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND16BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND20BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND4BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND8BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL025D1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL050MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL075MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL100MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL150MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL200MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL250MD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND1BWP7T35P140HVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND2BWP7T35P140HVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND4BWP7T35P140HVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD1BWP7T35P140HVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD2BWP7T35P140HVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD4BWP7T35P140HVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND1BWP7T35P140HVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND2BWP7T35P140HVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND4BWP7T35P140HVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD1BWP7T35P140HVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD2BWP7T35P140HVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD4BWP7T35P140HVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD1BWP7T35P140HVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD2BWP7T35P140HVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD4BWP7T35P140HVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND1BWP7T35P140HVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND2BWP7T35P140HVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND4BWP7T35P140HVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD1BWP7T35P140HVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD2BWP7T35P140HVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD4BWP7T35P140HVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND1BWP7T35P140HVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND2BWP7T35P140HVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND4BWP7T35P140HVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND1BWP7T35P140HVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND2BWP7T35P140HVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND4BWP7T35P140HVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD1BWP7T35P140HVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD2BWP7T35P140HVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD4BWP7T35P140HVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD1BWP7T35P140HVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD2BWP7T35P140HVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD4BWP7T35P140HVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND1BWP7T35P140HVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND2BWP7T35P140HVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND4BWP7T35P140HVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND1BWP7T35P140HVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND2BWP7T35P140HVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND4BWP7T35P140HVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND1BWP7T35P140HVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND2BWP7T35P140HVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND4BWP7T35P140HVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND1BWP7T35P140HVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND2BWP7T35P140HVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND4BWP7T35P140HVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD1BWP7T35P140HVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD2BWP7T35P140HVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD4BWP7T35P140HVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND1BWP7T35P140HVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND2BWP7T35P140HVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND4BWP7T35P140HVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD1BWP7T35P140HVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD2BWP7T35P140HVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD4BWP7T35P140HVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D0BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D1BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D2BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D4BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTCD1BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTSD1BWP7T35P140HVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL16BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL2BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL32BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL3BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL4BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL64BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL8BWP7T35P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D1BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D2BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D1BWP7T30P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D2BWP7T30P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI22D1BWP7T30P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD1BWP7T30P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD2BWP7T30P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD3BWP7T30P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD4BWP7T30P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD8BWP7T30P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP10BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP12BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP2BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP3BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP4BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAPBWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFCNQD1BWP7T30P140HVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFQD1BWP7T30P140HVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL10BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL12BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL2BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL3BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL4BWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILLBWP7T30P140HVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD1BWP7T30P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD2BWP7T30P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD3BWP7T30P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD4BWP7T30P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD8BWP7T30P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D1BWP7T30P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D2BWP7T30P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND1BWP7T30P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND2BWP7T30P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D1BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D2BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D3BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D4BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D1BWP7T30P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D2BWP7T30P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D1BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D2BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D1BWP7T30P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D2BWP7T30P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D1BWP7T30P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D2BWP7T30P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D1BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D2BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GSDFCNQD1BWP7T30P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIEHBWP7T30P140HVT (Z);
+ output Z;
+ buf (Z, 1'b1);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIELBWP7T30P140HVT (ZN);
+ output ZN;
+ buf (ZN, 1'b0);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D1BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D2BWP7T30P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D1BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D2BWP7T30P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D0BWP7T35P140HVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D1BWP7T35P140HVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D2BWP7T35P140HVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D4BWP7T35P140HVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D0BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D1BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D2BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D4BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD12BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD1BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD2BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD4BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD8BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D0BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D1BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D2BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D4BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D0BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D1BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D2BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D4BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D0BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D1BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D2BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D4BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD12BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD1BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD2BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD4BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD8BWP7T35P140HVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D0BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D1BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D2BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D4BWP7T35P140HVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D0BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D1BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D2BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D4BWP7T35P140HVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD0BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD12BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD16BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD1BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD20BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD2BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD3BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD4BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD6BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD8BWP7T35P140HVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND1BWP7T35P140HVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND2BWP7T35P140HVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND4BWP7T35P140HVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD1BWP7T35P140HVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD2BWP7T35P140HVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD4BWP7T35P140HVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND1BWP7T35P140HVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND2BWP7T35P140HVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND4BWP7T35P140HVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD1BWP7T35P140HVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD2BWP7T35P140HVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD4BWP7T35P140HVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD1BWP7T35P140HVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD2BWP7T35P140HVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD4BWP7T35P140HVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD1BWP7T35P140HVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD2BWP7T35P140HVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD4BWP7T35P140HVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND1BWP7T35P140HVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND2BWP7T35P140HVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND4BWP7T35P140HVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD1BWP7T35P140HVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD2BWP7T35P140HVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD4BWP7T35P140HVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND1BWP7T35P140HVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND2BWP7T35P140HVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND4BWP7T35P140HVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD1BWP7T35P140HVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD2BWP7T35P140HVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD4BWP7T35P140HVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND1BWP7T35P140HVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND2BWP7T35P140HVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND4BWP7T35P140HVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD1BWP7T35P140HVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD2BWP7T35P140HVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD4BWP7T35P140HVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND1BWP7T35P140HVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND2BWP7T35P140HVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND4BWP7T35P140HVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD1BWP7T35P140HVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD2BWP7T35P140HVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD4BWP7T35P140HVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND1BWP7T35P140HVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND2BWP7T35P140HVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND4BWP7T35P140HVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD1BWP7T35P140HVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD2BWP7T35P140HVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD4BWP7T35P140HVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D0BWP7T35P140HVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D1BWP7T35P140HVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D2BWP7T35P140HVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D4BWP7T35P140HVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D0BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D0BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D0BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D1BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D2BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D4BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND0BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND1BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND2BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND4BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND1BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND2BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND4BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND6BWP7T35P140HVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD1BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD2BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD4BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD6BWP7T35P140HVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D0BWP7T35P140HVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D1BWP7T35P140HVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D2BWP7T35P140HVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D4BWP7T35P140HVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND0BWP7T35P140HVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND1BWP7T35P140HVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND2BWP7T35P140HVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND4BWP7T35P140HVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D0BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D1BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D2BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D4BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND0BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND1BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND2BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND4BWP7T35P140HVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D0BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D12BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D16BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D3BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D8BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD12BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD16BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD6BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD8BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D0BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D3BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D8BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD12BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD16BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD6BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD8BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D0BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D1BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D2BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D3BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D4BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D8BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D0BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D12BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D16BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D3BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D8BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD12BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD16BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD6BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD8BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D0BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D3BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D8BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD12BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD16BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD6BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD8BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D0BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D1BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D2BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D3BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D4BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D8BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D0BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D1BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D2BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D4BWP7T35P140HVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D0BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D1BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D2BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D4BWP7T35P140HVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D0BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D1BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D2BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D4BWP7T35P140HVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D0BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D1BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D2BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D4BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D0BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D1BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D2BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D4BWP7T35P140HVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D0BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D1BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D2BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D4BWP7T35P140HVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D0BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D1BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D2BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D4BWP7T35P140HVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D0BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D1BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D2BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D4BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D0BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D1BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D2BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D4BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD12BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD1BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD2BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD4BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD6BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD8BWP7T35P140HVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D0BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D1BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D2BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D4BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD12BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD1BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD2BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD4BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD6BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD8BWP7T35P140HVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D0BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D1BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D2BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D4BWP7T35P140HVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D0BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D1BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D2BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D4BWP7T35P140HVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D0BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD12BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD1BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD2BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD4BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD6BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD8BWP7T35P140HVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D0BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D1BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D2BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D4BWP7T35P140HVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D0BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D1BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D2BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D4BWP7T35P140HVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D0BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D1BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D2BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D4BWP7T35P140HVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D0BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D8BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD12BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD8BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D0BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D1BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D2BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D4BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D8BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D0BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D1BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D2BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D4BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D8BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND0BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD0BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND0BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND1BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND2BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND4BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD0BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD1BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD2BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD4BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD0BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD1BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD2BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD4BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND0BWP7T35P140HVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND1BWP7T35P140HVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND2BWP7T35P140HVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND4BWP7T35P140HVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD0BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD1BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD2BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD4BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD1BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD2BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD4BWP7T35P140HVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND0BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND1BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND2BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND4BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD0BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD1BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD2BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD4BWP7T35P140HVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND0BWP7T35P140HVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND1BWP7T35P140HVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND2BWP7T35P140HVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND4BWP7T35P140HVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD0BWP7T35P140HVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD1BWP7T35P140HVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD2BWP7T35P140HVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD4BWP7T35P140HVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD0BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD1BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD2BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD4BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD0BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD1BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD2BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD4BWP7T35P140HVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND0BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND1BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND2BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND4BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND0BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND1BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND2BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND4BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND0BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND1BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND2BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND4BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND0BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND1BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND2BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND4BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND1BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND2BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND4BWP7T35P140HVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND1BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND2BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND4BWP7T35P140HVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND1BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND2BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND4BWP7T35P140HVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND1BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND2BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND4BWP7T35P140HVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD1BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD2BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD4BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD1BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD2BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD4BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD0BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD1BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD2BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD4BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND0BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND1BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND2BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQND4BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD1BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD2BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQNOPTBD4BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD1BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD2BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTAD4BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD1BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD2BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQOPTBD4BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND0BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSND4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNOPTBD4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD0BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQD4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSNQOPTBD4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCND4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD1BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD2BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCNQD4BWP7T35P140HVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND1BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND2BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSND4BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD1BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD2BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNCSNQD4BWP7T35P140HVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND1BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND2BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYND4BWP7T35P140HVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD1BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD2BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQD4BWP7T35P140HVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND1BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND2BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNQND4BWP7T35P140HVT (SI, D, SE, CP, QN);
+ input SI, D, SE, CP;
+ output QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (D_nSI, D, nSI);
+ and (nD_SI, nD, SI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSND4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q, QN);
+ input SI, D, SE, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD1BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD2BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFSYNSNQD4BWP7T35P140HVT (SI, D, SE, CP, SDN, Q);
+ input SI, D, SE, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CP_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, posedge CP &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, posedge CP &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, posedge CP &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, posedge CP &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+//module TAPCELLBWP7T35P140;
+ // No function
+//endmodule
+`endcelldefine
+
+`celldefine
+module TIEHBWP7T35P140HVT (Z);
+ output Z;
+ buf (Z, 1'b1);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module TIELBWP7T35P140HVT (ZN);
+ output ZN;
+ buf (ZN, 1'b0);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D0BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2D4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND1BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND2BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND4BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR2OPTND6BWP7T35P140HVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D0BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3D4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND1BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND2BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR3OPTND4BWP7T35P140HVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ not (ZN, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D0BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D1BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D2BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XNR4D4BWP7T35P140HVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (I2_out, I1_out, A4);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D0BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2D4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND1BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND2BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND4BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR2OPTND6BWP7T35P140HVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D0BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D1BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D2BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3D4BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND1BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND2BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR3OPTND4BWP7T35P140HVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (Z, I0_out, A3);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D0BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D1BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D2BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module XOR4D4BWP7T35P140HVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ xor (I0_out, A1, A2);
+ xor (I1_out, I0_out, A3);
+ xor (Z, I1_out, A4);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b0 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b1 && A4 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && A4 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A4 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A4 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID1BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID2BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID4BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOHID8BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD1BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD2BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD4BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOLOD8BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID2BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID4BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRHID8BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ or (Z, I, ISO);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD2BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD4BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ISOSRLOD8BWP7T35P140HVT (ISO, I, Z);
+ input ISO, I;
+ output Z;
+ not (ISO1, ISO);
+ nand (Z1, ISO1, I);
+ not (Z, Z1);
+
+ specify
+ (I => Z) = (0, 0);
+ (ISO => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD1BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD2BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD4BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCD8BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (IN, I);
+ nand (Z, IN, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD1BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD2BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD4BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLCLOD8BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD2BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLHLD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD1BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD2BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD4BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCD8BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD1BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD2BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD4BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHCLOD8BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ and (Z, I, NSLEEP);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD1BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD2BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLLHD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD2BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD4BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHCD8BWP7T35P140HVT (I, NSLEEP, Z);
+ input I, NSLEEP;
+ output Z;
+ not (NSLEEPN, NSLEEP);
+ or (Z, I, NSLEEPN);
+
+ specify
+ (I => Z) = (0, 0);
+ (NSLEEP => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD2BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD4BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LVLSRLHD8BWP7T35P140HVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+primitive tsmc_dff (q, d, cp, cdn, sdn, notifier);
+ output q;
+ input d, cp, cdn, sdn, notifier;
+ reg q;
+ table
+ ? ? 0 ? ? : ? : 0 ; // CDN dominate SDN
+ ? ? 1 0 ? : ? : 1 ; // SDN is set
+ ? ? 1 x ? : 0 : x ; // SDN affect Q
+ ? ? 1 x ? : 1 : 1 ; // Q=1,preset=X
+ ? ? x 1 ? : 0 : 0 ; // Q=0,clear=X
+ 0 (01) ? 1 ? : ? : 0 ; // Latch 0
+ 0 (0x) 1 1 ? : ? : x ; // Weak clock
+ 0 0 ? 1 ? : 0 : 0 ; // Keep 0 (D==Q)
+ 1 (01) 1 ? ? : ? : 1 ; // Latch 1
+ 1 (0x) 1 ? ? : ? : x ; // Weak clock
+ 1 0 1 ? ? : 1 : 1 ; // Keep 1 (D==Q)
+ ? (1?) 1 1 ? : ? : - ; // ignore negative edge of clock
+ ? 0 1 1 ? : ? : - ; // ignore low-level clock
+ ? ? (?1) 1 ? : ? : - ; // ignore positive edge of CDN
+ ? ? 1 (?1) ? : ? : - ; // ignore posative edge of SDN
+ * ? 1 1 ? : ? : - ; // ignore data change on steady clock
+ ? ? ? ? * : ? : x ; // timing check violation
+ endtable
+endprimitive
+
+primitive tsmc_dla (q, d, e, cdn, sdn, notifier);
+ output q;
+ reg q;
+ input d, e, cdn, sdn, notifier;
+ table
+ 1 1 1 ? ? : ? : 1 ; // Latch 1
+ 0 1 ? 1 ? : ? : 0 ; // Latch 0
+ 0 (10) 1 1 ? : ? : 0 ; // Latch 0 after falling edge
+ 1 (10) 1 1 ? : ? : 1 ; // Latch 1 after falling edge
+ * 0 ? ? ? : ? : - ; // no changes
+ ? ? ? 0 ? : ? : 1 ; // preset to 1
+ ? 0 1 * ? : 1 : 1 ;
+ 1 ? 1 * ? : 1 : 1 ;
+ 1 * 1 ? ? : 1 : 1 ;
+ ? ? 0 1 ? : ? : 0 ; // reset to 0
+ ? 0 * 1 ? : 0 : 0 ;
+ 0 ? * 1 ? : 0 : 0 ;
+ 0 * ? 1 ? : 0 : 0 ;
+ ? ? ? ? * : ? : x ; // toggle notifier
+ endtable
+endprimitive
+
+primitive tsmc_mux (q, d0, d1, s);
+ output q;
+ input s, d0, d1;
+
+ table
+ // d0 d1 s : q
+ 0 ? 0 : 0 ;
+ 1 ? 0 : 1 ;
+ ? 0 1 : 0 ;
+ ? 1 1 : 1 ;
+ 0 0 x : 0 ;
+ 1 1 x : 1 ;
+ endtable
+endprimitive
+
+primitive tsmc_xbuf (o, i, dummy);
+ output o;
+ input i, dummy;
+ table
+ // i dummy : o
+ 0 1 : 0 ;
+ 1 1 : 1 ;
+ x 1 : 1 ;
+ endtable
+endprimitive
+
diff --git a/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140lvt.v b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140lvt.v
new file mode 100644
index 0000000..e7db385
--- /dev/null
+++ b/DA4008_V1.3/lib/tcbn28hpcplusbwp7t35p140lvt.v
@@ -0,0 +1,74078 @@
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/// TSMC Library/IP Product
+/// Filename: tcbn28hpcplusbwp7t35p140lvt.v
+/// Technology: CLN28HT
+/// Product Type: Standard Cell
+/// Product Name: tcbn28hpcplusbwp7t35p140lvt
+/// Version: 110a
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////
+/// STATEMENT OF USE
+///
+/// This information contains confidential and proprietary information of TSMC.
+/// No part of this information may be reproduced, transmitted, transcribed,
+/// stored in a retrieval system, or translated into any human or computer
+/// language, in any form or by any means, electronic, mechanical, magnetic,
+/// optical, chemical, manual, or otherwise, without the prior written permission
+/// of TSMC. This information was prepared for informational purpose and is for
+/// use by TSMC's customers only. TSMC reserves the right to make changes in the
+/// information at any time and without notice.
+///
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+`timescale 1ns/1ps
+`celldefine
+module AN2D0BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2D8BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD12BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN2OPTPAD8BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D0BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D1BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D2BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D4BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN3D8BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ and (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D0BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D1BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D2BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D4BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AN4D8BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ and (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ANTENNABWP7T35P140LVT (I);
+ input I;
+ buf (I_buf, I);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D0BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D1BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D2BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO211D4BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D0BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D1BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D2BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO21D4BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ and (I0_out, A1, A2);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D0BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D1BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D2BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO221D4BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D0BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D1BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D2BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO222D4BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ and (I2_out, C1, C2);
+ or (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D0BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D1BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D2BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO22D4BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D0BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D1BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D2BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO31D4BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ or (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D0BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D1BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D2BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO32D4BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D0BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D1BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D2BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AO33D4BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ and (I0_out, A1, A2, A3);
+ and (I1_out, B1, B2, B3);
+ or (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D0BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D1BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D2BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211D4BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD12BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD1BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD2BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD4BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD6BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI211OPTBD8BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I2_out, I0_out, B, C);
+ not (ZN, I2_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D0BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D1BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D2BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21D4BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD12BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD1BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD2BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD4BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD6BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI21OPTBD8BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D0BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D1BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D2BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI221D4BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D0BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D1BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D2BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI222D4BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, C1, C2);
+ and (I2_out, B1, B2);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && C1 == 1'b0 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C2 == 1'b1)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && C1 == 1'b1)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D0BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22D4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD12BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD6BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI22OPTPBD8BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D0BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D1BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D2BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI31D4BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D0BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D1BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D2BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI32D4BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ and (I0_out, B1, B2);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D0BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D1BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D2BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module AOI33D4BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ and (I0_out, B1, B2, B3);
+ and (I1_out, A1, A2, A3);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B3 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BHDBWP7T35P140LVT (Z);
+ inout Z;
+ not (weak0, weak1) (Z, Z_buf);
+ not (Z_buf, Z);
+
+endmodule
+`endcelldefine
+
+`celldefine
+//module BOUNDARY_LEFTBWP7T35P140;
+ // No function
+//endmodule
+`endcelldefine
+
+`celldefine
+//module BOUNDARY_RIGHTBWP7T35P140;
+ // No function
+//endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD0BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD12BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD16BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD20BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD2BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD3BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD4BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD6BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFFD8BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD12BWP7T35P140LVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD16BWP7T35P140LVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD4BWP7T35P140LVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD6BWP7T35P140LVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module BUFTD8BWP7T35P140LVT (I, OE, Z);
+ input I, OE;
+ output Z;
+ bufif1 (Z, I, OE);
+
+ specify
+ (I => Z) = (0, 0);
+ (OE => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D0BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKAN2D8BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD0BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD12BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD16BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD20BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD2BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD3BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD4BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD6BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKBD8BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD12BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD16BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD1BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD2BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD3BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD4BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD6BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLHQD8BWP7T35P140LVT ( Q, TE, CPN, E );
+ input TE, CPN, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, CPN_d, E_d;
+ buf (_TE, TE_d);
+ buf (_CPN, CPN_d);
+ buf (_E, E_d);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `else
+ buf (_TE, TE);
+ buf (_CPN, CPN);
+ buf (_E, E);
+ or (_G001, _E, _TE);
+ tsmc_dla (_enl, _G001, _CPN, 1'b1, 1'b1, notifier);
+ not (_enlb, _enl);
+ or (Q, _enlb, _CPN);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b0 && TE == 1'b0)
+ (posedge CPN => (Q+:1'b1)) = (0, 0);
+ if (E == 1'b1 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CPN => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CPN => Q) = (0, 0);
+ $width (posedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CPN_d, E_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CPN_d, TE_d);
+ `else
+ $setuphold (negedge CPN &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD12BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD16BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD1BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD20BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD2BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD3BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD4BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD6BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQD8BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD12BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD4BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKLNQOPTMAD8BWP7T35P140LVT (TE, E, CP, Q);
+ input TE, E, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire TE_d, E_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E_d, TE_d);
+ not (CPB, CP_d);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP_d);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ or (D_i, E, TE);
+ not (CPB, CP);
+ tsmc_dla (Q_buf, D_i, CPB, CDN, SDN, notifier);
+ and (Q, Q_buf, CP);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (nTE_SDFCHK, nTE, 1'b1);
+ tsmc_xbuf (nE_SDFCHK, nE, 1'b1);
+ tsmc_xbuf (E_TE_SDFCHK, E_TE, 1'b1);
+ tsmc_xbuf (E_nTE_SDFCHK, E_nTE, 1'b1);
+ tsmc_xbuf (nE_TE_SDFCHK, nE_TE, 1'b1);
+ tsmc_xbuf (nE_nTE_SDFCHK, nE_nTE, 1'b1);
+ not (nTE, TE);
+ not (nE, E);
+ and (E_TE, E, TE);
+ and (E_nTE, E, nTE);
+ and (nE_TE, nE, TE);
+ and (nE_nTE, nE, nTE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (E_int_not, E_d);
+ not (TE_int_not, TE_d);
+ `else
+ not (E_int_not, E);
+ not (TE_int_not, TE);
+ `endif
+ buf (E_check, TE_int_not);
+ buf (TE_check, E_int_not);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+ tsmc_xbuf (TE_DEFCHK, TE_check, 1'b1);
+
+ specify
+ if (E == 1'b1 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b1 && TE == 1'b0)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b1)
+ (CP => Q) = (0, 0);
+ if (E == 1'b0 && TE == 1'b0)
+ (negedge CP => (Q+:1'b0)) = (0, 0);
+ $width (posedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_TE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& E_nTE_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_TE_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nE_nTE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier,,, CP_d, E_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier,,, CP_d, TE_d);
+ `else
+ $setuphold (posedge CP &&& nTE_SDFCHK, posedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nTE_SDFCHK, negedge E , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, posedge TE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nE_SDFCHK, negedge TE , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D0BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D1BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D2BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKMUX2D4BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND0BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND12BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND16BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND1BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND20BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D0BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D1BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D2BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D3BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D4BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND2D8BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND3BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND4BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND6BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKND8BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D0BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module CKXOR2D4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP16BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP32BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP4BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP64BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCAP8BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD12BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD16BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD4BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKBD8BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND12BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND16BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND20BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND4BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DCCKND8BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL025D1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL050MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL075MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL100MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL150MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL200MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DEL250MD1BWP7T35P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND1BWP7T35P140LVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND2BWP7T35P140LVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCND4BWP7T35P140LVT (D, CP, CDN, Q, QN);
+ input D, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD1BWP7T35P140LVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD2BWP7T35P140LVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCNQD4BWP7T35P140LVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND1BWP7T35P140LVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND2BWP7T35P140LVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSND4BWP7T35P140LVT (D, CP, CDN, SDN, Q, QN);
+ input D, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD1BWP7T35P140LVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD2BWP7T35P140LVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFCSNQD4BWP7T35P140LVT (D, CP, CDN, SDN, Q);
+ input D, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SDFCHK, CP_D_SDN, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SDFCHK, CP_nD_SDN, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SDFCHK, nCP_D_SDN, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SDFCHK, nCP_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SDFCHK, CDN_CP_D, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SDFCHK, CDN_CP_nD, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SDFCHK, CDN_nCP_D, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SDFCHK, CDN_nCP_nD, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D_SDN, CP, D, SDN);
+ and (CP_nD_SDN, CP, nD, SDN);
+ and (nCP_D_SDN, nCP, D, SDN);
+ and (nCP_nD_SDN, nCP, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CP_D, CDN, CP, D);
+ and (CDN_CP_nD, CDN, CP, nD);
+ and (CDN_nCP_D, CDN, nCP, D);
+ and (CDN_nCP_nD, CDN, nCP, nD);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CP_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge CP &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge CP &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD1BWP7T35P140LVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD2BWP7T35P140LVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFD4BWP7T35P140LVT (D, CP, Q, QN);
+ input D, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND1BWP7T35P140LVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND2BWP7T35P140LVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCND4BWP7T35P140LVT (D, CP, CN, Q, QN);
+ input D, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ (posedge CP => (QN-:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD1BWP7T35P140LVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD2BWP7T35P140LVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCNQD4BWP7T35P140LVT (D, CP, CN, Q);
+ input D, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN_d, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D_i, CN, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CN_SDFCHK, CN, 1'b1);
+ tsmc_xbuf (CN_D_SDFCHK, CN_D, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ tsmc_xbuf (nCN_D_SDFCHK, nCN_D, 1'b1);
+ tsmc_xbuf (nCN_nD_SDFCHK, nCN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ and (CN_D, CN, D);
+ and (CN_nD, CN, nD);
+ and (nCN_D, nCN, D);
+ and (nCN_nD, nCN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, CN_d);
+ `else
+ buf (D_check, CN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SDFCHK, negedge D , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND1BWP7T35P140LVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND2BWP7T35P140LVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKCSND4BWP7T35P140LVT (D, CP, CN, SN, Q, QN);
+ input D, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D_i, CN_d, DS);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D_i, CN, DS);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SN_SDFCHK, CN_D_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSN_SDFCHK, CN_D_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSN_SDFCHK, CN_nD_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SN_SDFCHK, CN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SN_SDFCHK, nCN_D_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSN_SDFCHK, nCN_D_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SN_SDFCHK, nCN_nD_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSN_SDFCHK, nCN_nD_nSN, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (CN_SN_SDFCHK, CN_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SDFCHK, CN_nD, 1'b1);
+ not (nD, D);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SN, CN, D, SN);
+ and (CN_D_nSN, CN, D, nSN);
+ and (CN_nD_nSN, CN, nD, nSN);
+ and (CN_nD_SN, CN, nD, SN);
+ and (nCN_D_SN, nCN, D, SN);
+ and (nCN_D_nSN, nCN, D, nSN);
+ and (nCN_nD_SN, nCN, nD, SN);
+ and (nCN_nD_nSN, nCN, nD, nSN);
+ and (D_SN, D, SN);
+ and (nD_nSN, nD, nSN);
+ and (D_nSN, D, nSN);
+ and (CN_SN, CN, SN);
+ and (CN_nD, CN, nD);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (SN_check, CN_d);
+ and (D_check, SN_d, CN_d);
+ `else
+ buf (SN_check, CN);
+ and (D_check, SN, CN);
+ `endif
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((CN && D) || (CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND1BWP7T35P140LVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND2BWP7T35P140LVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFKSND4BWP7T35P140LVT (D, CP, SN, Q, QN);
+ input D, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D_i, S, D_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D_i, S, D);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SN_SDFCHK, SN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SN_SDFCHK, D_SN, 1'b1);
+ tsmc_xbuf (D_nSN_SDFCHK, D_nSN, 1'b1);
+ tsmc_xbuf (nD_nSN_SDFCHK, nD_nSN, 1'b1);
+ tsmc_xbuf (nD_SN_SDFCHK, nD_SN, 1'b1);
+ not (nD, D);
+ not (nSN, SN);
+ and (D_SN, D, SN);
+ and (D_nSN, D, nSN);
+ and (nD_nSN, nD, nSN);
+ and (nD_SN, nD, SN);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ buf (D_check, SN_d);
+ `else
+ buf (D_check, SN);
+ `endif
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((D) || (!(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((D) || (!(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD1BWP7T35P140LVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD2BWP7T35P140LVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMD4BWP7T35P140LVT (DA, DB, SA, CP, Q, QN);
+ input DA, DB, SA, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ (posedge CP => (QN-:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD1BWP7T35P140LVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD2BWP7T35P140LVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFMQD4BWP7T35P140LVT (DA, DB, SA, CP, Q);
+ input DA, DB, SA, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_dff (Q_buf, D, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SDFCHK, DA_DB_SA, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SDFCHK, DA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SDFCHK, DA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SDFCHK, nDA_DB_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SDFCHK, DA_nDB_nSA, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SDFCHK, nDA_DB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SDFCHK, nDA_nDB_SA, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SDFCHK, nDA_nDB_nSA, 1'b1);
+ tsmc_xbuf (DB_SA_SDFCHK, DB_SA, 1'b1);
+ tsmc_xbuf (nDB_SA_SDFCHK, nDB_SA, 1'b1);
+ tsmc_xbuf (DA_nSA_SDFCHK, DA_nSA, 1'b1);
+ tsmc_xbuf (nDA_nSA_SDFCHK, nDA_nSA, 1'b1);
+ tsmc_xbuf (DA_nDB_SDFCHK, DA_nDB, 1'b1);
+ tsmc_xbuf (nDA_DB_SDFCHK, nDA_DB, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ and (DA_DB_SA, DA, DB, SA);
+ and (DA_DB_nSA, DA, DB, nSA);
+ and (DA_nDB_SA, DA, nDB, SA);
+ and (nDA_DB_nSA, nDA, DB, nSA);
+ and (DA_nDB_nSA, DA, nDB, nSA);
+ and (nDA_DB_SA, nDA, DB, SA);
+ and (nDA_nDB_SA, nDA, nDB, SA);
+ and (nDA_nDB_nSA, nDA, nDB, nSA);
+ and (DB_SA, DB, SA);
+ and (nDB_SA, nDB, SA);
+ and (DA_nSA, DA, nSA);
+ and (nDA_nSA, nDA, nSA);
+ and (DA_nDB, DA, nDB);
+ and (nDA_DB, nDA, DB);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ buf (DA_check, SA_d);
+ `else
+ not (SA_int_not, SA);
+ buf (DA_check, SA);
+ `endif
+ buf (DB_check, SA_int_not);
+ pullup (CP_check);
+ pullup (SA_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((DA && DB) || (DA && !(DB) && SA) || (!(DA) && DB && !(SA))))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SDFCHK, negedge SA , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND1BWP7T35P140LVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND2BWP7T35P140LVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCND4BWP7T35P140LVT (D, CPN, CDN, Q, QN);
+ input D, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge CPN &&& D_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND1BWP7T35P140LVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND2BWP7T35P140LVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNCSND4BWP7T35P140LVT (D, CPN, CDN, SDN, Q, QN);
+ input D, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SDFCHK, CPN_D_SDN, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SDFCHK, CPN_nD_SDN, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SDFCHK, nCPN_D_SDN, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SDFCHK, nCPN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SDFCHK, CDN_CPN_D, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SDFCHK, CDN_CPN_nD, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SDFCHK, CDN_nCPN_D, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SDFCHK, CDN_nCPN_nD, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (CPN_D_SDN, CPN, D, SDN);
+ and (CPN_nD_SDN, CPN, nD, SDN);
+ and (nCPN_D_SDN, nCPN, D, SDN);
+ and (nCPN_nD_SDN, nCPN, nD, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_CPN_D, CDN, CPN, D);
+ and (CDN_CPN_nD, CDN, CPN, nD);
+ and (CDN_nCPN_D, CDN, nCPN, D);
+ and (CDN_nCPN_nD, CDN, nCPN, nD);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (CPN_check, CDN_i, SDN_i);
+ and (D_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge CPN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge CPN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND1BWP7T35P140LVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND2BWP7T35P140LVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFND4BWP7T35P140LVT (D, CPN, Q, QN);
+ input D, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CPN_check);
+ pullup (D_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ $width (posedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CPN_d, D_d);
+ `else
+ $setuphold (negedge CPN &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND1BWP7T35P140LVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND2BWP7T35P140LVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFNSND4BWP7T35P140LVT (D, CPN, SDN, Q, QN);
+ input D, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CPN_d;
+ pullup (CDN);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_d, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CPN_D_SDFCHK, CPN_D, 1'b1);
+ tsmc_xbuf (CPN_nD_SDFCHK, CPN_nD, 1'b1);
+ tsmc_xbuf (nCPN_D_SDFCHK, nCPN_D, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDFCHK, nCPN_nD, 1'b1);
+ not (nD, D);
+ not (nCPN, CPN);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CPN_D, CPN, D);
+ and (CPN_nD, CPN, nD);
+ and (nCPN_D, nCPN, D);
+ and (nCPN_nD, nCPN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CPN_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:D)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge CPN &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD1BWP7T35P140LVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD2BWP7T35P140LVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFQD4BWP7T35P140LVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND1BWP7T35P140LVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND2BWP7T35P140LVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSND4BWP7T35P140LVT (D, CP, SDN, Q, QN);
+ input D, CP, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (posedge CP => (QN-:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD1BWP7T35P140LVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD2BWP7T35P140LVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module DFSNQD4BWP7T35P140LVT (D, CP, SDN, Q);
+ input D, CP, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (CDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, SDN_i);
+ buf (D_check, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (posedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge CP &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D0BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D1BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D2BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1D4BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTCD1BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FA1OPTSD1BWP7T35P140LVT (A, B, CI, S, CO);
+ input A, B, CI;
+ output S, CO;
+ xor (I0_out, A, B);
+ xor (S, I0_out, CI);
+ and (I1_out, A, B);
+ and (I2_out, B, CI);
+ and (I3_out, A, CI);
+ or (CO, I1_out, I2_out, I3_out);
+
+ specify
+ if (B == 1'b1 && CI == 1'b0)
+ (A => CO) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => CO) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => CO) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => CO) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => CO) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => CO) = (0, 0);
+ if (B == 1'b1 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1 && CI == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b0 && CI == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && CI == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b0 && CI == 1'b1)
+ (B => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b1)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (CI => S) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (CI => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL16BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL2BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL32BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL3BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL4BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL64BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module FILL8BWP7T35P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D1BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAN2D2BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ and (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D1BWP7T30P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI21D2BWP7T30P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ and (I0_out, A1, A2);
+ or (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GAOI22D1BWP7T30P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ and (I1_out, B1, B2);
+ or (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD1BWP7T30P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD2BWP7T30P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD3BWP7T30P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD4BWP7T30P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GBUFFD8BWP7T30P140LVT (I, Z);
+ input I;
+ output Z;
+ buf (Z, I);
+
+ specify
+ (I => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP10BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP12BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP2BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP3BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAP4BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDCAPBWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFCNQD1BWP7T30P140LVT (D, CP, CDN, Q);
+ input D, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, CP_d;
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (CP_D_SDFCHK, CP_D, 1'b1);
+ tsmc_xbuf (CP_nD_SDFCHK, CP_nD, 1'b1);
+ tsmc_xbuf (nCP_D_SDFCHK, nCP_D, 1'b1);
+ tsmc_xbuf (nCP_nD_SDFCHK, nCP_nD, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nCP, CP);
+ and (CP_D, CP, D);
+ and (CP_nD, CP, nD);
+ and (nCP_D, nCP, D);
+ and (nCP_nD, nCP, nD);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (CP_check, CDN_i);
+ buf (D_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge CP &&& D_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GDFQD1BWP7T30P140LVT (D, CP, Q);
+ input D, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D_d, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dff (Q_buf, D, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ // Timing logics defined for default constraint check
+ pullup (CP_check);
+ pullup (D_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:D)) = (0, 0);
+ $width (posedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier,,, CP_d, D_d);
+ `else
+ $setuphold (posedge CP &&& D_DEFCHK, posedge D, 0, 0, notifier);
+ $setuphold (posedge CP &&& D_DEFCHK, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL10BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL12BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL2BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL3BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILL4BWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GFILLBWP7T30P140LVT;
+ // No function
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD1BWP7T30P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD2BWP7T30P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD3BWP7T30P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD4BWP7T30P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GINVD8BWP7T30P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D1BWP7T30P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2D2BWP7T30P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND1BWP7T30P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GMUX2ND2BWP7T30P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D1BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D2BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D3BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND2D4BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D1BWP7T30P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GND3D2BWP7T30P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D1BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR2D2BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D1BWP7T30P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GNR3D2BWP7T30P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D1BWP7T30P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOAI21D2BWP7T30P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D1BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GOR2D2BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GSDFCNQD1BWP7T30P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIEHBWP7T30P140LVT (Z);
+ output Z;
+ buf (Z, 1'b1);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GTIELBWP7T30P140LVT (ZN);
+ output ZN;
+ buf (ZN, 1'b0);
+
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D1BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXNR2D2BWP7T30P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ xor (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ if (A2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D1BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module GXOR2D2BWP7T30P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ xor (Z, A1, A2);
+
+ specify
+ if (A2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1)
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D0BWP7T35P140LVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D1BWP7T35P140LVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D2BWP7T35P140LVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module HA1D4BWP7T35P140LVT (A, B, S, CO);
+ input A, B;
+ output S, CO;
+ xor (S, A, B);
+ and (CO, A, B);
+
+ specify
+ (A => CO) = (0, 0);
+ (B => CO) = (0, 0);
+ if (B == 1'b0)
+ (A => S) = (0, 0);
+ if (B == 1'b1)
+ (A => S) = (0, 0);
+ if (A == 1'b0)
+ (B => S) = (0, 0);
+ if (A == 1'b1)
+ (B => S) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D0BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D1BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D2BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2D4BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD12BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD1BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD2BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD4BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND2OPTPAD8BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D0BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D1BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D2BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND3D4BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D0BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D1BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D2BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module IND4D4BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ and (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D0BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D1BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D2BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2D4BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD12BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD1BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD2BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD4BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR2OPTPAD8BWP7T35P140LVT (A1, B1, ZN);
+ input A1, B1;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D0BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D1BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D2BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR3D4BWP7T35P140LVT (A1, B1, B2, ZN);
+ input A1, B1, B2;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D0BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D1BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D2BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INR4D4BWP7T35P140LVT (A1, B1, B2, B3, ZN);
+ input A1, B1, B2, B3;
+ output ZN;
+ not (I0_out, A1);
+ or (I1_out, I0_out, B1, B2, B3);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (B1 => ZN) = (0, 0);
+ (B2 => ZN) = (0, 0);
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD0BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD12BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD16BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD1BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD20BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD2BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD3BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD4BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD6BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module INVD8BWP7T35P140LVT (I, ZN);
+ input I;
+ output ZN;
+ not (ZN, I);
+
+ specify
+ (I => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND1BWP7T35P140LVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND2BWP7T35P140LVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCND4BWP7T35P140LVT (D, E, CDN, Q, QN);
+ input D, E, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD1BWP7T35P140LVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD2BWP7T35P140LVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCNQD4BWP7T35P140LVT (D, E, CDN, Q);
+ input D, E, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, E_d;
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, negedge E &&& D_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND1BWP7T35P140LVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND2BWP7T35P140LVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSND4BWP7T35P140LVT (D, E, CDN, SDN, Q, QN);
+ input D, E, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD1BWP7T35P140LVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD2BWP7T35P140LVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHCSNQD4BWP7T35P140LVT (D, E, CDN, SDN, Q);
+ input D, E, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ tsmc_dla (Q_buf, D_d, E_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_nE_SDN_SDFCHK, D_nE_SDN, 1'b1);
+ tsmc_xbuf (nD_nE_SDN_SDFCHK, nD_nE_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_nE_SDFCHK, CDN_D_nE, 1'b1);
+ tsmc_xbuf (CDN_nD_nE_SDFCHK, CDN_nD_nE, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_nE_SDN, D, nE, SDN);
+ and (nD_nE_SDN, nD, nE, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_nE, CDN, D, nE);
+ and (CDN_nD_nE, CDN, nD, nE);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && E == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && E == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_nE_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, E_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_nE_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_nE_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, negedge E &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (negedge E &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, negedge E &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD1BWP7T35P140LVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD2BWP7T35P140LVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHD4BWP7T35P140LVT (D, E, Q, QN);
+ input D, E;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD1BWP7T35P140LVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD2BWP7T35P140LVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHQD4BWP7T35P140LVT (D, E, Q);
+ input D, E;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, E_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ $width (posedge E &&& D_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge E, posedge D, 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E, negedge D, 0, 0, notifier,,, E_d, D_d);
+ `else
+ $setuphold (negedge E, posedge D, 0, 0, notifier);
+ $setuphold (negedge E, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND1BWP7T35P140LVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND2BWP7T35P140LVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSND4BWP7T35P140LVT (D, E, SDN, Q, QN);
+ input D, E, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (posedge E => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD1BWP7T35P140LVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD2BWP7T35P140LVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LHSNQD4BWP7T35P140LVT (D, E, SDN, Q);
+ input D, E, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, E_d;
+ pullup (CDN);
+ tsmc_dla (Q_buf, D_d, E_d, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_nE_SDFCHK, D_nE, 1'b1);
+ tsmc_xbuf (nD_nE_SDFCHK, nD_nE, 1'b1);
+ not (nD, D);
+ not (nE, E);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_nE, D, nE);
+ and (nD_nE, nD, nE);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (E_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (E_DEFCHK, E_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (posedge E => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && E == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (posedge E &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (posedge E &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_nE_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_nE_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, E_d);
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, E_d, D_d);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, E_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge E &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge E &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, negedge E &&& nD_SDFCHK, 0, notifier);
+ $hold (negedge E &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND1BWP7T35P140LVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND2BWP7T35P140LVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCND4BWP7T35P140LVT (D, EN, CDN, Q, QN);
+ input D, EN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD1BWP7T35P140LVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD2BWP7T35P140LVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCNQD4BWP7T35P140LVT (D, EN, CDN, Q);
+ input D, EN, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CDN_SDFCHK, CDN, 1'b1);
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_D_SDFCHK, CDN_D, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_D, CDN, D);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, CDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& CDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDFCHK, posedge EN &&& D_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND1BWP7T35P140LVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND2BWP7T35P140LVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSND4BWP7T35P140LVT (D, EN, CDN, SDN, Q, QN);
+ input D, EN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (QN-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD1BWP7T35P140LVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD2BWP7T35P140LVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNCSNQD4BWP7T35P140LVT (D, EN, CDN, SDN, Q);
+ input D, EN, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (D_EN_SDN_SDFCHK, D_EN_SDN, 1'b1);
+ tsmc_xbuf (nD_EN_SDN_SDFCHK, nD_EN_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SDFCHK, CDN_D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SDFCHK, CDN_nD_SDN, 1'b1);
+ tsmc_xbuf (CDN_D_EN_SDFCHK, CDN_D_EN, 1'b1);
+ tsmc_xbuf (CDN_nD_EN_SDFCHK, CDN_nD_EN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ tsmc_xbuf (CDN_SDN_SDFCHK, CDN_SDN, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (CDN_nD_SDFCHK, CDN_nD, 1'b1);
+ not (nD, D);
+ and (D_EN_SDN, D, EN, SDN);
+ and (nD_EN_SDN, nD, EN, SDN);
+ and (CDN_D_SDN, CDN, D, SDN);
+ and (CDN_nD_SDN, CDN, nD, SDN);
+ and (CDN_D_EN, CDN, D, EN);
+ and (CDN_nD_EN, CDN, nD, EN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+ and (CDN_SDN, CDN, SDN);
+ and (D_SDN, D, SDN);
+ and (CDN_nD, CDN, nD);
+
+
+ // Timing logics defined for default constraint check
+ and (D_check, SDN_i, CDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ if (D == 1'b1 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b0 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1 && SDN == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ ifnone (posedge CDN => (Q+:1'b1)) = (0, 0);
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b1 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b1)
+ (SDN => Q) = (0, 0);
+ if (CDN == 1'b0 && D == 1'b0 && EN == 1'b0)
+ (SDN => Q) = (0, 0);
+ $width (negedge CDN &&& D_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nD_EN_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& CDN_nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recrem (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0,0, notifier, , , CDN_d, EN_d);
+ $recrem (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& D_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nD_EN_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& CDN_SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& D_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nD_EN_SDFCHK, posedge SDN , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SDFCHK, posedge EN &&& D_SDN_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& D_SDN_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SDFCHK, posedge EN &&& CDN_nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& CDN_nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND1BWP7T35P140LVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND2BWP7T35P140LVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LND4BWP7T35P140LVT (D, EN, Q, QN);
+ input D, EN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD1BWP7T35P140LVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD2BWP7T35P140LVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNQD4BWP7T35P140LVT (D, EN, Q);
+ input D, EN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire D_d, EN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDFCHK, D, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ not (nD, D);
+
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ $width (negedge EN &&& D_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge EN, posedge D, 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier,,, EN_d, D_d);
+ `else
+ $setuphold (posedge EN, posedge D, 0, 0, notifier);
+ $setuphold (posedge EN, negedge D, 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND1BWP7T35P140LVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND2BWP7T35P140LVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSND4BWP7T35P140LVT (D, EN, SDN, Q, QN);
+ input D, EN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ (D => QN) = (0, 0);
+ (negedge EN => (QN-:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (QN+:1'b1)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD1BWP7T35P140LVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD2BWP7T35P140LVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module LNSNQD4BWP7T35P140LVT (D, EN, SDN, Q);
+ input D, EN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire D_d, EN_d;
+ pullup (CDN);
+ not (E, EN_d);
+ tsmc_dla (Q_buf, D_d, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ not (E, EN);
+ tsmc_dla (Q_buf, D, E, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (SDN_SDFCHK, SDN, 1'b1);
+ tsmc_xbuf (nD_SDFCHK, nD, 1'b1);
+ tsmc_xbuf (D_SDN_SDFCHK, D_SDN, 1'b1);
+ tsmc_xbuf (nD_SDN_SDFCHK, nD_SDN, 1'b1);
+ tsmc_xbuf (D_EN_SDFCHK, D_EN, 1'b1);
+ tsmc_xbuf (nD_EN_SDFCHK, nD_EN, 1'b1);
+ not (nD, D);
+ and (D_SDN, D, SDN);
+ and (nD_SDN, nD, SDN);
+ and (D_EN, D, EN);
+ and (nD_EN, nD, EN);
+
+
+ // Timing logics defined for default constraint check
+ buf (D_check, SDN_i);
+ buf (EN_check, SDN_i);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (EN_DEFCHK, EN_check, 1'b1);
+
+ specify
+ (D => Q) = (0, 0);
+ (negedge EN => (Q+:D)) = (0, 0);
+ if (D == 1'b1 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (D == 1'b0 && EN == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ ifnone (posedge SDN => (Q-:1'b0)) = (0, 0);
+ $width (negedge EN &&& D_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge EN &&& nD_SDN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& D_EN_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nD_EN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recrem (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0,0, notifier, , , SDN_d, EN_d);
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier,,, EN_d, D_d);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier,,, EN_d, D_d);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge EN &&& SDN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge EN &&& SDN_SDFCHK, negedge D , 0, 0, notifier);
+ $recovery (posedge SDN &&& nD_SDFCHK, posedge EN &&& nD_SDFCHK, 0, notifier);
+ $hold (posedge EN &&& nD_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D0BWP7T35P140LVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D1BWP7T35P140LVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D2BWP7T35P140LVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI222D4BWP7T35P140LVT (A, B, C, ZN);
+ input A, B, C;
+ output ZN;
+ and (I0_out, A, B);
+ and (I1_out, B, C);
+ and (I2_out, A, C);
+ or (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (B == 1'b1 && C == 1'b0)
+ (A => ZN) = (0, 0);
+ if (B == 1'b0 && C == 1'b1)
+ (A => ZN) = (0, 0);
+ if (A == 1'b1 && C == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A == 1'b1 && B == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D0BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22D4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MAOI22OPTBD4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ or (I2_out, B1, B2);
+ and (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D0BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22D4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MOAI22OPTBD4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (I1_out, I0_out);
+ and (I2_out, B1, B2);
+ or (ZN, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D0BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D1BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D2BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2D4BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND0BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND1BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND2BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2ND4BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND1BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND2BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND4BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2NOPTND6BWP7T35P140LVT (I0, I1, S, ZN);
+ input I0, I1, S;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S);
+ not (ZN, I0_out);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD1BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD2BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD4BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX2OPTD6BWP7T35P140LVT (I0, I1, S, Z);
+ input I0, I1, S;
+ output Z;
+ tsmc_mux (Z, I0, I1, S);
+
+ specify
+ if (I1 == 1'b1 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && S == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && S == 1'b1)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1)
+ (S => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0)
+ (S => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D0BWP7T35P140LVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D1BWP7T35P140LVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D2BWP7T35P140LVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3D4BWP7T35P140LVT (I0, I1, I2, S0, S1, Z);
+ input I0, I1, I2, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (Z, I0_out, I2, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND0BWP7T35P140LVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND1BWP7T35P140LVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND2BWP7T35P140LVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX3ND4BWP7T35P140LVT (I0, I1, I2, S0, S1, ZN);
+ input I0, I1, I2, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I0_out, I2, S1);
+ not (ZN, I1_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D0BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D1BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D2BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4D4BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, Z);
+ input I0, I1, I2, I3, S0, S1;
+ output Z;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (Z, I0_out, I1_out, S1);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND0BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND1BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND2BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module MUX4ND4BWP7T35P140LVT (I0, I1, I2, I3, S0, S1, ZN);
+ input I0, I1, I2, I3, S0, S1;
+ output ZN;
+ tsmc_mux (I0_out, I0, I1, S0);
+ tsmc_mux (I1_out, I2, I3, S0);
+ tsmc_mux (I2_out, I0_out, I1_out, S1);
+ not (ZN, I2_out);
+
+ specify
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b0)
+ (I0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1 && S1 == 1'b0)
+ (I1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b1 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I3 == 1'b0 && S0 == 1'b0 && S1 == 1'b1)
+ (I2 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && S0 == 1'b1 && S1 == 1'b1)
+ (I3 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b1)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S1 == 1'b0)
+ (S0 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b0 && I3 == 1'b0 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b1 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b1 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b1 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b1 && I3 == 1'b0 && S0 == 1'b0)
+ (S1 => ZN) = (0, 0);
+ if (I0 == 1'b0 && I1 == 1'b0 && I2 == 1'b0 && I3 == 1'b1 && S0 == 1'b1)
+ (S1 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D0BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D12BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D16BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D1BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D2BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D3BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D4BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2D8BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD12BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD16BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD1BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD2BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD4BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD6BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND2OPTPAD8BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ and (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D0BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D1BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D2BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D3BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D4BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3D8BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD12BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD16BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD1BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD2BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD4BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD6BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND3OPTPAD8BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ and (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D0BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D1BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D2BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D3BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D4BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module ND4D8BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ and (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D0BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D12BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D16BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D1BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D2BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D3BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D4BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2D8BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD12BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD16BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD1BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD2BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD4BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD6BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR2OPTPAD8BWP7T35P140LVT (A1, A2, ZN);
+ input A1, A2;
+ output ZN;
+ or (I0_out, A1, A2);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D0BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D1BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D2BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D3BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D4BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3D8BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD12BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD16BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD1BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD2BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD4BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD6BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR3OPTPAD8BWP7T35P140LVT (A1, A2, A3, ZN);
+ input A1, A2, A3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D0BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D1BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D2BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D3BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D4BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module NR4D8BWP7T35P140LVT (A1, A2, A3, A4, ZN);
+ input A1, A2, A3, A4;
+ output ZN;
+ or (I0_out, A1, A2, A3, A4);
+ not (ZN, I0_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ (A4 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D0BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D1BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D2BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA211D4BWP7T35P140LVT (A1, A2, B, C, Z);
+ input A1, A2, B, C;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B, C);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D0BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D1BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D2BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA21D4BWP7T35P140LVT (A1, A2, B, Z);
+ input A1, A2, B;
+ output Z;
+ or (I0_out, A1, A2);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D0BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D1BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D2BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA221D4BWP7T35P140LVT (A1, A2, B1, B2, C, Z);
+ input A1, A2, B1, B2, C;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out, C);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D0BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D1BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D2BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA222D4BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, Z);
+ input A1, A2, B1, B2, C1, C2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (Z, I0_out, I1_out, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D0BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D1BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D2BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA22D4BWP7T35P140LVT (A1, A2, B1, B2, Z);
+ input A1, A2, B1, B2;
+ output Z;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D0BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D1BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D2BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA31D4BWP7T35P140LVT (A1, A2, A3, B, Z);
+ input A1, A2, A3, B;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ and (Z, I0_out, B);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D0BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D1BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D2BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA32D4BWP7T35P140LVT (A1, A2, A3, B1, B2, Z);
+ input A1, A2, A3, B1, B2;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D0BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D1BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D2BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OA33D4BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, Z);
+ input A1, A2, A3, B1, B2, B3;
+ output Z;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (Z, I0_out, I1_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => Z) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D0BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D1BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D2BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211D4BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD12BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD1BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD2BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD4BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD6BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI211OPTBD8BWP7T35P140LVT (A1, A2, B, C, ZN);
+ input A1, A2, B, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B, C);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && C == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D0BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D1BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D2BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21D4BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD12BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD1BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD2BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD4BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD6BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI21OPTBD8BWP7T35P140LVT (A1, A2, B, ZN);
+ input A1, A2, B;
+ output ZN;
+ or (I0_out, A1, A2);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D0BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D1BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D2BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI221D4BWP7T35P140LVT (A1, A2, B1, B2, C, ZN);
+ input A1, A2, B1, B2, C;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out, C);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0)
+ (C => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1)
+ (C => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D0BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D1BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D2BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI222D4BWP7T35P140LVT (A1, A2, B1, B2, C1, C2, ZN);
+ input A1, A2, B1, B2, C1, C2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ or (I2_out, C1, C2);
+ and (I3_out, I0_out, I1_out, I2_out);
+ not (ZN, I3_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b1 && C2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0 && C2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b1 && C2 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && C1 == 1'b0 && C2 == 1'b1)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C2 == 1'b0)
+ (C1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b1 && B2 == 1'b0 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0 && B2 == 1'b1 && C1 == 1'b0)
+ (C2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D0BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22D4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD12BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD1BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD2BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD4BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD6BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI22OPTPBD8BWP7T35P140LVT (A1, A2, B1, B2, ZN);
+ input A1, A2, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D0BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D1BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D2BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI31D4BWP7T35P140LVT (A1, A2, A3, B, ZN);
+ input A1, A2, A3, B;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ and (I1_out, I0_out, B);
+ not (ZN, I1_out);
+
+ specify
+ (A1 => ZN) = (0, 0);
+ (A2 => ZN) = (0, 0);
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0)
+ (B => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1)
+ (B => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D0BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D1BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D2BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI32D4BWP7T35P140LVT (A1, A2, A3, B1, B2, ZN);
+ input A1, A2, A3, B1, B2;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D0BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D1BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D2BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OAI33D4BWP7T35P140LVT (A1, A2, A3, B1, B2, B3, ZN);
+ input A1, A2, A3, B1, B2, B3;
+ output ZN;
+ or (I0_out, A1, A2, A3);
+ or (I1_out, B1, B2, B3);
+ and (I2_out, I0_out, I1_out);
+ not (ZN, I2_out);
+
+ specify
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A1 => ZN) = (0, 0);
+ if (A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b1 && B3 == 1'b0)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && B1 == 1'b0 && B2 == 1'b0 && B3 == 1'b1)
+ (A3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B2 == 1'b0 && B3 == 1'b0)
+ (B1 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B3 == 1'b0)
+ (B2 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b1 && A2 == 1'b0 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b1 && A3 == 1'b0 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ if (A1 == 1'b0 && A2 == 1'b0 && A3 == 1'b1 && B1 == 1'b0 && B2 == 1'b0)
+ (B3 => ZN) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D0BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2D8BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD12BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD1BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD2BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD4BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR2OPTPAD8BWP7T35P140LVT (A1, A2, Z);
+ input A1, A2;
+ output Z;
+ or (Z, A1, A2);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D0BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D1BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D2BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D4BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR3D8BWP7T35P140LVT (A1, A2, A3, Z);
+ input A1, A2, A3;
+ output Z;
+ or (Z, A1, A2, A3);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D0BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D1BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D2BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D4BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module OR4D8BWP7T35P140LVT (A1, A2, A3, A4, Z);
+ input A1, A2, A3, A4;
+ output Z;
+ or (Z, A1, A2, A3, A4);
+
+ specify
+ (A1 => Z) = (0, 0);
+ (A2 => Z) = (0, 0);
+ (A3 => Z) = (0, 0);
+ (A4 => Z) = (0, 0);
+ endspecify
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND0BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCND4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTAD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTBD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNOPTCD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q, QN);
+ input SI, D, SE, CP, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD0BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTAD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD1BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD2BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCNQOPTBD4BWP7T35P140LVT (SI, D, SE, CP, CDN, Q);
+ input SI, D, SE, CP, CDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CP_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, posedge CP &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, posedge CP &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, posedge CP &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, posedge CP &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND0BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND1BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND2BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSND4BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q, QN);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD0BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD1BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD2BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFCSNQD4BWP7T35P140LVT (SI, D, SE, CP, CDN, SDN, Q);
+ input SI, D, SE, CP, CDN, SDN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CP_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CP_D_SDN_SE_SI_SDFCHK, CP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_SE_nSI_SDFCHK, CP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_SI_SDFCHK, CP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SDN_nSE_nSI_SDFCHK, CP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_SI_SDFCHK, CP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_SE_nSI_SDFCHK, CP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_SI_SDFCHK, CP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SDN_nSE_nSI_SDFCHK, CP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_SI_SDFCHK, nCP_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_SE_nSI_SDFCHK, nCP_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_SI_SDFCHK, nCP_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SDN_nSE_nSI_SDFCHK, nCP_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_SI_SDFCHK, nCP_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_SE_nSI_SDFCHK, nCP_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_SI_SDFCHK, nCP_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_SDN_nSE_nSI_SDFCHK, nCP_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_SI_SDFCHK, CDN_CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_SE_nSI_SDFCHK, CDN_CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_SI_SDFCHK, CDN_CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_D_nSE_nSI_SDFCHK, CDN_CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_SI_SDFCHK, CDN_CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_SE_nSI_SDFCHK, CDN_CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_SI_SDFCHK, CDN_CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CP_nD_nSE_nSI_SDFCHK, CDN_CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_SI_SDFCHK, CDN_nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_SI_SDFCHK, CDN_nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_nSE_nSI_SDFCHK, CDN_nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_SI_SDFCHK, CDN_nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_D_SE_nSI_SDFCHK, CDN_nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_SE_nSI_SDFCHK, CDN_nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_SI_SDFCHK, CDN_nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCP_nD_nSE_nSI_SDFCHK, CDN_nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_SE_SI_SDFCHK, CP_D_SE_SI, 1'b1);
+ tsmc_xbuf (CP_D_SE_nSI_SDFCHK, CP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_SI_SDFCHK, CP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_D_nSE_nSI_SDFCHK, CP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_SI_SDFCHK, CP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_SE_nSI_SDFCHK, CP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_SI_SDFCHK, CP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CP_nD_nSE_nSI_SDFCHK, CP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_SI_SDFCHK, nCP_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_SI_SDFCHK, nCP_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_nSE_nSI_SDFCHK, nCP_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_SI_SDFCHK, nCP_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCP_D_SE_nSI_SDFCHK, nCP_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_SE_nSI_SDFCHK, nCP_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_SI_SDFCHK, nCP_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCP_nD_nSE_nSI_SDFCHK, nCP_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCP, CP);
+ and (CP_D_SDN_SE_SI, CP, D, SDN, SE, SI);
+ and (CP_D_SDN_SE_nSI, CP, D, SDN, SE, nSI);
+ and (CP_D_SDN_nSE_SI, CP, D, SDN, nSE, SI);
+ and (CP_D_SDN_nSE_nSI, CP, D, SDN, nSE, nSI);
+ and (CP_nD_SDN_SE_SI, CP, nD, SDN, SE, SI);
+ and (CP_nD_SDN_SE_nSI, CP, nD, SDN, SE, nSI);
+ and (CP_nD_SDN_nSE_SI, CP, nD, SDN, nSE, SI);
+ and (CP_nD_SDN_nSE_nSI, CP, nD, SDN, nSE, nSI);
+ and (nCP_D_SDN_SE_SI, nCP, D, SDN, SE, SI);
+ and (nCP_D_SDN_SE_nSI, nCP, D, SDN, SE, nSI);
+ and (nCP_D_SDN_nSE_SI, nCP, D, SDN, nSE, SI);
+ and (nCP_D_SDN_nSE_nSI, nCP, D, SDN, nSE, nSI);
+ and (nCP_nD_SDN_SE_SI, nCP, nD, SDN, SE, SI);
+ and (nCP_nD_SDN_SE_nSI, nCP, nD, SDN, SE, nSI);
+ and (nCP_nD_SDN_nSE_SI, nCP, nD, SDN, nSE, SI);
+ and (nCP_nD_SDN_nSE_nSI, nCP, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CP_D_SE_SI, CDN, CP, D, SE, SI);
+ and (CDN_CP_D_SE_nSI, CDN, CP, D, SE, nSI);
+ and (CDN_CP_D_nSE_SI, CDN, CP, D, nSE, SI);
+ and (CDN_CP_D_nSE_nSI, CDN, CP, D, nSE, nSI);
+ and (CDN_CP_nD_SE_SI, CDN, CP, nD, SE, SI);
+ and (CDN_CP_nD_SE_nSI, CDN, CP, nD, SE, nSI);
+ and (CDN_CP_nD_nSE_SI, CDN, CP, nD, nSE, SI);
+ and (CDN_CP_nD_nSE_nSI, CDN, CP, nD, nSE, nSI);
+ and (CDN_nCP_D_SE_SI, CDN, nCP, D, SE, SI);
+ and (CDN_nCP_D_nSE_SI, CDN, nCP, D, nSE, SI);
+ and (CDN_nCP_D_nSE_nSI, CDN, nCP, D, nSE, nSI);
+ and (CDN_nCP_nD_SE_SI, CDN, nCP, nD, SE, SI);
+ and (CDN_nCP_D_SE_nSI, CDN, nCP, D, SE, nSI);
+ and (CDN_nCP_nD_SE_nSI, CDN, nCP, nD, SE, nSI);
+ and (CDN_nCP_nD_nSE_SI, CDN, nCP, nD, nSE, SI);
+ and (CDN_nCP_nD_nSE_nSI, CDN, nCP, nD, nSE, nSI);
+ and (CP_D_SE_SI, CP, D, SE, SI);
+ and (CP_D_SE_nSI, CP, D, SE, nSI);
+ and (CP_D_nSE_SI, CP, D, nSE, SI);
+ and (CP_D_nSE_nSI, CP, D, nSE, nSI);
+ and (CP_nD_SE_SI, CP, nD, SE, SI);
+ and (CP_nD_SE_nSI, CP, nD, SE, nSI);
+ and (CP_nD_nSE_SI, CP, nD, nSE, SI);
+ and (CP_nD_nSE_nSI, CP, nD, nSE, nSI);
+ and (nCP_D_SE_SI, nCP, D, SE, SI);
+ and (nCP_D_nSE_SI, nCP, D, nSE, SI);
+ and (nCP_D_nSE_nSI, nCP, D, nSE, nSI);
+ and (nCP_nD_SE_SI, nCP, nD, SE, SI);
+ and (nCP_D_SE_nSI, nCP, D, SE, nSI);
+ and (nCP_nD_SE_nSI, nCP, nD, SE, nSI);
+ and (nCP_nD_nSE_SI, nCP, nD, nSE, SI);
+ and (nCP_nD_nSE_nSI, nCP, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CP_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CP == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CP == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ $width (negedge CDN &&& CP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCP_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCP_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CP_d);
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCP_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, posedge CP &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, posedge CP &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, posedge CP &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, posedge CP &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (posedge CP &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, posedge CP &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, posedge CP &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, posedge CP &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (posedge CP &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (posedge CP &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD0BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD1BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD2BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFD4BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND0BWP7T35P140LVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND1BWP7T35P140LVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND2BWP7T35P140LVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCND4BWP7T35P140LVT (SI, D, SE, CP, CN, Q, QN);
+ input SI, D, SE, CP, CN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD0BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD1BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD2BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQD4BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD1BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD2BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCNQOPTBD4BWP7T35P140LVT (SI, D, SE, CP, CN, Q);
+ input SI, D, SE, CP, CN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d;
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN_d, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ and (D1, CN, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SDFCHK, CN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SDFCHK, CN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SDFCHK, CN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SDFCHK, CN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SDFCHK, nCN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SDFCHK, nCN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SDFCHK, CN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SDFCHK, CN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SDFCHK, nCN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SDFCHK, nCN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SDFCHK, nCN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SDFCHK, nCN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SDFCHK, nCN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SDFCHK, nCN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SDFCHK, CN_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SDFCHK, CN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SDFCHK, CN_nD_SI, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SDFCHK, nCN_D_SI, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SDFCHK, nCN_nD_SI, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SDFCHK, CN_D_nSI, 1'b1);
+ tsmc_xbuf (CN_D_SE_SDFCHK, CN_D_SE, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SDFCHK, CN_nD_SE, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SDFCHK, nCN_D_SE, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SDFCHK, nCN_nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ and (CN_D_SE_SI, CN, D, SE, SI);
+ and (CN_D_nSE_SI, CN, D, nSE, SI);
+ and (CN_D_nSE_nSI, CN, D, nSE, nSI);
+ and (CN_nD_SE_SI, CN, nD, SE, SI);
+ and (nCN_D_SE_SI, nCN, D, SE, SI);
+ and (nCN_nD_SE_SI, nCN, nD, SE, SI);
+ and (CN_D_SE_nSI, CN, D, SE, nSI);
+ and (CN_nD_SE_nSI, CN, nD, SE, nSI);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+ and (nCN_D_SE_nSI, nCN, D, SE, nSI);
+ and (nCN_D_nSE_SI, nCN, D, nSE, SI);
+ and (nCN_D_nSE_nSI, nCN, D, nSE, nSI);
+ and (nCN_nD_SE_nSI, nCN, nD, SE, nSI);
+ and (nCN_nD_nSE_SI, nCN, nD, nSE, SI);
+ and (nCN_nD_nSE_nSI, nCN, nD, nSE, nSI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (CN_nSE_SI, CN, nSE, SI);
+ and (CN_nSE_nSI, CN, nSE, nSI);
+ and (CN_nD_SI, CN, nD, SI);
+ and (nCN_D_SI, nCN, D, SI);
+ and (nCN_nD_SI, nCN, nD, SI);
+ and (CN_D_nSI, CN, D, nSI);
+ and (CN_D_SE, CN, D, SE);
+ and (CN_nD_SE, CN, nD, SE);
+ and (nCN_D_SE, nCN, D, SE);
+ and (nCN_nD_SE, nCN, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D && CN)))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND0BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND1BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND2BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSND4BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q, QN);
+ input SI, D, SE, CP, CN, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD0BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD1BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD2BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKCSNQD4BWP7T35P140LVT (SI, D, SE, CP, CN, SN, Q);
+ input SI, D, SE, CP, CN, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, CN_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (DS, S, D_d);
+ and (D1, DS, CN_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (DS, S, D);
+ and (D1, DS, CN);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CN_D_SE_SI_SN_SDFCHK, CN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SI_nSN_SDFCHK, CN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_SN_SDFCHK, CN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_SI_nSN_SDFCHK, CN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_SN_SDFCHK, CN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSE_nSI_nSN_SDFCHK, CN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_SN_SDFCHK, CN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SI_nSN_SDFCHK, CN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_nSN_SDFCHK, CN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_nSN_SDFCHK, CN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_SN_SDFCHK, nCN_D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SI_nSN_SDFCHK, nCN_D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_SN_SDFCHK, nCN_nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SI_nSN_SDFCHK, nCN_nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_SN_SDFCHK, CN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSI_nSN_SDFCHK, CN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_SN_SDFCHK, CN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSI_nSN_SDFCHK, CN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SN_SDFCHK, CN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SN_SDFCHK, CN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_SN_SDFCHK, nCN_D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSI_nSN_SDFCHK, nCN_D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_SN_SDFCHK, nCN_D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_SI_nSN_SDFCHK, nCN_D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_SN_SDFCHK, nCN_D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_nSE_nSI_nSN_SDFCHK, nCN_D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_SN_SDFCHK, nCN_nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSI_nSN_SDFCHK, nCN_nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_SN_SDFCHK, nCN_nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_SI_nSN_SDFCHK, nCN_nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_SN_SDFCHK, nCN_nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_nSE_nSI_nSN_SDFCHK, nCN_nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nSE_SI_SN_SDFCHK, CN_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (CN_nSE_nSI_SN_SDFCHK, CN_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_nD_SI_SN_SDFCHK, CN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_SN_SDFCHK, nCN_D_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SI_nSN_SDFCHK, nCN_D_SI_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_SN_SDFCHK, nCN_nD_SI_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SI_nSN_SDFCHK, nCN_nD_SI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_SN_SDFCHK, CN_D_nSI_SN, 1'b1);
+ tsmc_xbuf (CN_D_nSI_nSN_SDFCHK, CN_D_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSI_nSN_SDFCHK, CN_nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (CN_D_SE_SN_SDFCHK, CN_D_SE_SN, 1'b1);
+ tsmc_xbuf (CN_D_SE_nSN_SDFCHK, CN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_nSN_SDFCHK, CN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_SE_SN_SDFCHK, CN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_SN_SDFCHK, nCN_D_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_D_SE_nSN_SDFCHK, nCN_D_SE_nSN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_SN_SDFCHK, nCN_nD_SE_SN, 1'b1);
+ tsmc_xbuf (nCN_nD_SE_nSN_SDFCHK, nCN_nD_SE_nSN, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_SI_SDFCHK, CN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CN_nD_nSE_nSI_SDFCHK, CN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCN, CN);
+ not (nSN, SN);
+ and (CN_D_SE_SI_SN, CN, D, SE, SI, SN);
+ and (CN_D_SE_SI_nSN, CN, D, SE, SI, nSN);
+ and (CN_D_nSE_SI_SN, CN, D, nSE, SI, SN);
+ and (CN_D_nSE_SI_nSN, CN, D, nSE, SI, nSN);
+ and (CN_D_nSE_nSI_SN, CN, D, nSE, nSI, SN);
+ and (CN_D_nSE_nSI_nSN, CN, D, nSE, nSI, nSN);
+ and (CN_nD_SE_SI_SN, CN, nD, SE, SI, SN);
+ and (CN_nD_SE_SI_nSN, CN, nD, SE, SI, nSN);
+ and (CN_nD_nSE_SI_nSN, CN, nD, nSE, SI, nSN);
+ and (CN_nD_nSE_nSI_nSN, CN, nD, nSE, nSI, nSN);
+ and (nCN_D_SE_SI_SN, nCN, D, SE, SI, SN);
+ and (nCN_D_SE_SI_nSN, nCN, D, SE, SI, nSN);
+ and (nCN_nD_SE_SI_SN, nCN, nD, SE, SI, SN);
+ and (nCN_nD_SE_SI_nSN, nCN, nD, SE, SI, nSN);
+ and (CN_D_SE_nSI_SN, CN, D, SE, nSI, SN);
+ and (CN_D_SE_nSI_nSN, CN, D, SE, nSI, nSN);
+ and (CN_nD_SE_nSI_SN, CN, nD, SE, nSI, SN);
+ and (CN_nD_SE_nSI_nSN, CN, nD, SE, nSI, nSN);
+ and (CN_nD_nSE_SI_SN, CN, nD, nSE, SI, SN);
+ and (CN_nD_nSE_nSI_SN, CN, nD, nSE, nSI, SN);
+ and (nCN_D_SE_nSI_SN, nCN, D, SE, nSI, SN);
+ and (nCN_D_SE_nSI_nSN, nCN, D, SE, nSI, nSN);
+ and (nCN_D_nSE_SI_SN, nCN, D, nSE, SI, SN);
+ and (nCN_D_nSE_SI_nSN, nCN, D, nSE, SI, nSN);
+ and (nCN_D_nSE_nSI_SN, nCN, D, nSE, nSI, SN);
+ and (nCN_D_nSE_nSI_nSN, nCN, D, nSE, nSI, nSN);
+ and (nCN_nD_SE_nSI_SN, nCN, nD, SE, nSI, SN);
+ and (nCN_nD_SE_nSI_nSN, nCN, nD, SE, nSI, nSN);
+ and (nCN_nD_nSE_SI_SN, nCN, nD, nSE, SI, SN);
+ and (nCN_nD_nSE_SI_nSN, nCN, nD, nSE, SI, nSN);
+ and (nCN_nD_nSE_nSI_SN, nCN, nD, nSE, nSI, SN);
+ and (nCN_nD_nSE_nSI_nSN, nCN, nD, nSE, nSI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (CN_nSE_SI_SN, CN, nSE, SI, SN);
+ and (CN_nSE_nSI_SN, CN, nSE, nSI, SN);
+ and (CN_nD_SI_SN, CN, nD, SI, SN);
+ and (nCN_D_SI_SN, nCN, D, SI, SN);
+ and (nCN_D_SI_nSN, nCN, D, SI, nSN);
+ and (nCN_nD_SI_SN, nCN, nD, SI, SN);
+ and (nCN_nD_SI_nSN, nCN, nD, SI, nSN);
+ and (CN_D_nSI_SN, CN, D, nSI, SN);
+ and (CN_D_nSI_nSN, CN, D, nSI, nSN);
+ and (CN_nD_nSI_nSN, CN, nD, nSI, nSN);
+ and (CN_D_SE_SN, CN, D, SE, SN);
+ and (CN_D_SE_nSN, CN, D, SE, nSN);
+ and (CN_nD_SE_nSN, CN, nD, SE, nSN);
+ and (CN_nD_SE_SN, CN, nD, SE, SN);
+ and (nCN_D_SE_SN, nCN, D, SE, SN);
+ and (nCN_D_SE_nSN, nCN, D, SE, nSN);
+ and (nCN_nD_SE_SN, nCN, nD, SE, SN);
+ and (nCN_nD_SE_nSN, nCN, nD, SE, nSN);
+ and (CN_nD_nSE_SI, CN, nD, nSE, SI);
+ and (CN_nD_nSE_nSI, CN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, CN_d, SN_d);
+ and (SN_check, SE_int_not, CN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, CN, SN);
+ and (SN_check, SE_int_not, CN);
+ `endif
+ buf (CN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (CN_DEFCHK, CN_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && CN && D) || (!(SE) && CN && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& CN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nCN_nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier,,, CP_d, CN_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_SN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, posedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, negedge CN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nCN_nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& CN_nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND0BWP7T35P140LVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND1BWP7T35P140LVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND2BWP7T35P140LVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSND4BWP7T35P140LVT (SI, D, SE, CP, SN, Q, QN);
+ input SI, D, SE, CP, SN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD0BWP7T35P140LVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD1BWP7T35P140LVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD2BWP7T35P140LVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFKSNQD4BWP7T35P140LVT (SI, D, SE, CP, SN, Q);
+ input SI, D, SE, CP, SN;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d, SN_d;
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN_d);
+ or (D1, S, D_d);
+ tsmc_mux (D2, D1, SI_d, SE_d);
+ tsmc_dff (Q_buf, D2, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ not (S, SN);
+ or (D1, S, D);
+ tsmc_mux (D2, D1, SI, SE);
+ tsmc_dff (Q_buf, D2, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SN_SDFCHK, D_SE_SI_SN, 1'b1);
+ tsmc_xbuf (D_SE_SI_nSN_SDFCHK, D_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SN_SDFCHK, D_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_SI_nSN_SDFCHK, D_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SN_SDFCHK, D_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_nSN_SDFCHK, D_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SN_SDFCHK, nD_SE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_SI_nSN_SDFCHK, nD_SE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_nSN_SDFCHK, nD_nSE_SI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_nSN_SDFCHK, nD_nSE_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SN_SDFCHK, D_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSI_nSN_SDFCHK, D_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SN_SDFCHK, nD_SE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_nSN_SDFCHK, nD_SE_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SN_SDFCHK, nD_nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SN_SDFCHK, nD_nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nSE_SI_SN_SDFCHK, nSE_SI_SN, 1'b1);
+ tsmc_xbuf (nSE_nSI_SN_SDFCHK, nSE_nSI_SN, 1'b1);
+ tsmc_xbuf (nD_SI_SN_SDFCHK, nD_SI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_SN_SDFCHK, D_nSI_SN, 1'b1);
+ tsmc_xbuf (D_nSI_nSN_SDFCHK, D_nSI_nSN, 1'b1);
+ tsmc_xbuf (nD_nSI_nSN_SDFCHK, nD_nSI_nSN, 1'b1);
+ tsmc_xbuf (D_SE_SN_SDFCHK, D_SE_SN, 1'b1);
+ tsmc_xbuf (D_SE_nSN_SDFCHK, D_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_nSN_SDFCHK, nD_SE_nSN, 1'b1);
+ tsmc_xbuf (nD_SE_SN_SDFCHK, nD_SE_SN, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nSN, SN);
+ and (D_SE_SI_SN, D, SE, SI, SN);
+ and (D_SE_SI_nSN, D, SE, SI, nSN);
+ and (D_nSE_SI_SN, D, nSE, SI, SN);
+ and (D_nSE_SI_nSN, D, nSE, SI, nSN);
+ and (D_nSE_nSI_SN, D, nSE, nSI, SN);
+ and (D_nSE_nSI_nSN, D, nSE, nSI, nSN);
+ and (nD_SE_SI_SN, nD, SE, SI, SN);
+ and (nD_SE_SI_nSN, nD, SE, SI, nSN);
+ and (nD_nSE_SI_nSN, nD, nSE, SI, nSN);
+ and (nD_nSE_nSI_nSN, nD, nSE, nSI, nSN);
+ and (D_SE_nSI_SN, D, SE, nSI, SN);
+ and (D_SE_nSI_nSN, D, SE, nSI, nSN);
+ and (nD_SE_nSI_SN, nD, SE, nSI, SN);
+ and (nD_SE_nSI_nSN, nD, SE, nSI, nSN);
+ and (nD_nSE_SI_SN, nD, nSE, SI, SN);
+ and (nD_nSE_nSI_SN, nD, nSE, nSI, SN);
+ and (nSE_SI_SN, nSE, SI, SN);
+ and (nSE_nSI_SN, nSE, nSI, SN);
+ and (nD_SI_SN, nD, SI, SN);
+ and (D_nSI_SN, D, nSI, SN);
+ and (D_nSI_nSN, D, nSI, nSN);
+ and (nD_nSI_nSN, nD, nSI, nSN);
+ and (D_SE_SN, D, SE, SN);
+ and (D_SE_nSN, D, SE, nSN);
+ and (nD_SE_nSN, nD, SE, nSN);
+ and (nD_SE_SN, nD, SE, SN);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (D_check, SE_int_not, SN_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (D_check, SE_int_not, SN);
+ `endif
+ buf (SN_check, SE_int_not);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+ tsmc_xbuf (SN_DEFCHK, SN_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D) || (!(SE) && !(D) && !(SN))))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_nSN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SN_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SN_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier,,, CP_d, SN_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SN_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSI_nSN_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_nSN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SN_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_SI_SDFCHK, negedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, posedge SN , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_nSE_nSI_SDFCHK, negedge SN , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD0BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD1BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD2BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMD4BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q, QN);
+ input DA, DB, SA, SI, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD0BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD1BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD2BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFMQD4BWP7T35P140LVT (DA, DB, SA, SI, SE, CP, Q);
+ input DA, DB, SA, SI, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire DA_d, DB_d, SA_d, SI_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB_d, DA_d, SA_d);
+ tsmc_mux (D_i, D, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D, DB, DA, SA);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (DA_DB_SA_SE_SI_SDFCHK, DA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_SI_SDFCHK, DA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSE_nSI_SDFCHK, DA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SI_SDFCHK, DA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_SI_SDFCHK, DA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSE_nSI_SDFCHK, DA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SI_SDFCHK, DA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_SI_SDFCHK, DA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSE_nSI_SDFCHK, DA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SI_SDFCHK, DA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SI_SDFCHK, nDA_DB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SI_SDFCHK, nDA_DB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_SI_SDFCHK, nDA_DB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSE_nSI_SDFCHK, nDA_DB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SI_SDFCHK, nDA_nDB_SA_SE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SI_SDFCHK, nDA_nDB_nSA_SE_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_nSI_SDFCHK, DA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_nSI_SDFCHK, DA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_nSI_SDFCHK, DA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_nSI_SDFCHK, DA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_SI_SDFCHK, DA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_nSE_nSI_SDFCHK, DA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_nSI_SDFCHK, nDA_DB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_SI_SDFCHK, nDA_DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_nSE_nSI_SDFCHK, nDA_DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_nSI_SDFCHK, nDA_DB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_nSI_SDFCHK, nDA_nDB_SA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_SI_SDFCHK, nDA_nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_nSE_nSI_SDFCHK, nDA_nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_nSI_SDFCHK, nDA_nDB_nSA_SE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_SI_SDFCHK, nDA_nDB_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_nSE_nSI_SDFCHK, nDA_nDB_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_SI_SDFCHK, DB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (DB_SA_nSE_nSI_SDFCHK, DB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_SI_SDFCHK, nDB_SA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDB_SA_nSE_nSI_SDFCHK, nDB_SA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_SI_SDFCHK, DA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nSA_nSE_nSI_SDFCHK, DA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_SI_SDFCHK, nDA_nSA_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_nSA_nSE_nSI_SDFCHK, nDA_nSA_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_SI_SDFCHK, DA_nDB_nSE_SI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSE_nSI_SDFCHK, DA_nDB_nSE_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_SI_SDFCHK, nDA_DB_nSE_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSE_nSI_SDFCHK, nDA_DB_nSE_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SI_SDFCHK, DA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SI_SDFCHK, nDA_DB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SI_SDFCHK, nDA_nDB_SA_SI, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SI_SDFCHK, nDA_nDB_nSA_SI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_nSI_SDFCHK, DA_DB_SA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_nSI_SDFCHK, DA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_nSI_SDFCHK, DA_nDB_SA_nSI, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_nSI_SDFCHK, nDA_DB_nSA_nSI, 1'b1);
+ tsmc_xbuf (DA_DB_SA_SE_SDFCHK, DA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (DA_DB_nSA_SE_SDFCHK, DA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_SA_SE_SDFCHK, DA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_nSA_SE_SDFCHK, nDA_DB_nSA_SE, 1'b1);
+ tsmc_xbuf (DA_nDB_nSA_SE_SDFCHK, DA_nDB_nSA_SE, 1'b1);
+ tsmc_xbuf (nDA_DB_SA_SE_SDFCHK, nDA_DB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_SA_SE_SDFCHK, nDA_nDB_SA_SE, 1'b1);
+ tsmc_xbuf (nDA_nDB_nSA_SE_SDFCHK, nDA_nDB_nSA_SE, 1'b1);
+ not (nDA, DA);
+ not (nDB, DB);
+ not (nSA, SA);
+ not (nSI, SI);
+ not (nSE, SE);
+ and (DA_DB_SA_SE_SI, DA, DB, SA, SE, SI);
+ and (DA_DB_SA_nSE_SI, DA, DB, SA, nSE, SI);
+ and (DA_DB_SA_nSE_nSI, DA, DB, SA, nSE, nSI);
+ and (DA_DB_nSA_SE_SI, DA, DB, nSA, SE, SI);
+ and (DA_DB_nSA_nSE_SI, DA, DB, nSA, nSE, SI);
+ and (DA_DB_nSA_nSE_nSI, DA, DB, nSA, nSE, nSI);
+ and (DA_nDB_SA_SE_SI, DA, nDB, SA, SE, SI);
+ and (DA_nDB_SA_nSE_SI, DA, nDB, SA, nSE, SI);
+ and (DA_nDB_SA_nSE_nSI, DA, nDB, SA, nSE, nSI);
+ and (DA_nDB_nSA_SE_SI, DA, nDB, nSA, SE, SI);
+ and (nDA_DB_SA_SE_SI, nDA, DB, SA, SE, SI);
+ and (nDA_DB_nSA_SE_SI, nDA, DB, nSA, SE, SI);
+ and (nDA_DB_nSA_nSE_SI, nDA, DB, nSA, nSE, SI);
+ and (nDA_DB_nSA_nSE_nSI, nDA, DB, nSA, nSE, nSI);
+ and (nDA_nDB_SA_SE_SI, nDA, nDB, SA, SE, SI);
+ and (nDA_nDB_nSA_SE_SI, nDA, nDB, nSA, SE, SI);
+ and (DA_DB_SA_SE_nSI, DA, DB, SA, SE, nSI);
+ and (DA_DB_nSA_SE_nSI, DA, DB, nSA, SE, nSI);
+ and (DA_nDB_SA_SE_nSI, DA, nDB, SA, SE, nSI);
+ and (DA_nDB_nSA_SE_nSI, DA, nDB, nSA, SE, nSI);
+ and (DA_nDB_nSA_nSE_SI, DA, nDB, nSA, nSE, SI);
+ and (DA_nDB_nSA_nSE_nSI, DA, nDB, nSA, nSE, nSI);
+ and (nDA_DB_SA_SE_nSI, nDA, DB, SA, SE, nSI);
+ and (nDA_DB_SA_nSE_SI, nDA, DB, SA, nSE, SI);
+ and (nDA_DB_SA_nSE_nSI, nDA, DB, SA, nSE, nSI);
+ and (nDA_DB_nSA_SE_nSI, nDA, DB, nSA, SE, nSI);
+ and (nDA_nDB_SA_SE_nSI, nDA, nDB, SA, SE, nSI);
+ and (nDA_nDB_SA_nSE_SI, nDA, nDB, SA, nSE, SI);
+ and (nDA_nDB_SA_nSE_nSI, nDA, nDB, SA, nSE, nSI);
+ and (nDA_nDB_nSA_SE_nSI, nDA, nDB, nSA, SE, nSI);
+ and (nDA_nDB_nSA_nSE_SI, nDA, nDB, nSA, nSE, SI);
+ and (nDA_nDB_nSA_nSE_nSI, nDA, nDB, nSA, nSE, nSI);
+ and (DB_SA_nSE_SI, DB, SA, nSE, SI);
+ and (DB_SA_nSE_nSI, DB, SA, nSE, nSI);
+ and (nDB_SA_nSE_SI, nDB, SA, nSE, SI);
+ and (nDB_SA_nSE_nSI, nDB, SA, nSE, nSI);
+ and (DA_nSA_nSE_SI, DA, nSA, nSE, SI);
+ and (DA_nSA_nSE_nSI, DA, nSA, nSE, nSI);
+ and (nDA_nSA_nSE_SI, nDA, nSA, nSE, SI);
+ and (nDA_nSA_nSE_nSI, nDA, nSA, nSE, nSI);
+ and (DA_nDB_nSE_SI, DA, nDB, nSE, SI);
+ and (DA_nDB_nSE_nSI, DA, nDB, nSE, nSI);
+ and (nDA_DB_nSE_SI, nDA, DB, nSE, SI);
+ and (nDA_DB_nSE_nSI, nDA, DB, nSE, nSI);
+ and (DA_nDB_nSA_SI, DA, nDB, nSA, SI);
+ and (nDA_DB_SA_SI, nDA, DB, SA, SI);
+ and (nDA_nDB_SA_SI, nDA, nDB, SA, SI);
+ and (nDA_nDB_nSA_SI, nDA, nDB, nSA, SI);
+ and (DA_DB_SA_nSI, DA, DB, SA, nSI);
+ and (DA_DB_nSA_nSI, DA, DB, nSA, nSI);
+ and (DA_nDB_SA_nSI, DA, nDB, SA, nSI);
+ and (nDA_DB_nSA_nSI, nDA, DB, nSA, nSI);
+ and (DA_DB_SA_SE, DA, DB, SA, SE);
+ and (DA_DB_nSA_SE, DA, DB, nSA, SE);
+ and (DA_nDB_SA_SE, DA, nDB, SA, SE);
+ and (nDA_DB_nSA_SE, nDA, DB, nSA, SE);
+ and (DA_nDB_nSA_SE, DA, nDB, nSA, SE);
+ and (nDA_DB_SA_SE, nDA, DB, SA, SE);
+ and (nDA_nDB_SA_SE, nDA, nDB, SA, SE);
+ and (nDA_nDB_nSA_SE, nDA, nDB, nSA, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SA_int_not, SA_d);
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ and (DA_check, SA_d, SE_int_not);
+ `else
+ not (SA_int_not, SA);
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ and (DA_check, SA, SE_int_not);
+ `endif
+ buf (SA_check, SE_int_not);
+ and (DB_check, SA_int_not, SE_int_not);
+ or (CP_check, SI_check, DA_check, SA_check, DB_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (DB_DEFCHK, DB_check, 1'b1);
+ tsmc_xbuf (DA_DEFCHK, DA_check, 1'b1);
+ tsmc_xbuf (SA_DEFCHK, SA_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && SA && DA) || (!(SE) && !(SA) && DB)))) = (0, 0);
+ $width (posedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& DA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_DB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_SA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nDA_nDB_nSA_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier,,, CP_d, DA_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier,,, CP_d, DB_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier,,, CP_d, SA_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_SI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, posedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDB_SA_nSE_nSI_SDFCHK, negedge DA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_SI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, posedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nSA_nSE_nSI_SDFCHK, negedge DB , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_SI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, posedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSE_nSI_SDFCHK, negedge SA , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& DA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_DB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_SA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nDA_nDB_nSA_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND0BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND1BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND2BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCND4BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND0BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND1BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND2BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNCSND4BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND0BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND1BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND2BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFND4BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND0BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND1BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND2BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSND4BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND1BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND2BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCND4BWP7T35P140LVT (SI, D, SE, CPN, CDN, Q, QN);
+ input SI, D, SE, CPN, CDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d;
+ buf (CDN_i, CDN_d);
+ `else
+ buf (CDN_i, CDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (CDN_i, CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SI_SDFCHK, CDN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_SI_SDFCHK, CDN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSE_nSI_SDFCHK, CDN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SI_SDFCHK, CDN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nSE_SI_SDFCHK, CDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nSE_nSI_SDFCHK, CDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SI_SDFCHK, CDN_nD_SI, 1'b1);
+ tsmc_xbuf (CDN_D_nSI_SDFCHK, CDN_D_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_SDFCHK, CDN_D_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_SDFCHK, CDN_nD_SE, 1'b1);
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_D_SE_SI, CDN, D, SE, SI);
+ and (CDN_D_nSE_SI, CDN, D, nSE, SI);
+ and (CDN_D_nSE_nSI, CDN, D, nSE, nSI);
+ and (CDN_nD_SE_SI, CDN, nD, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+ and (CDN_nSE_SI, CDN, nSE, SI);
+ and (CDN_nSE_nSI, CDN, nSE, nSI);
+ and (CDN_nD_SI, CDN, nD, SI);
+ and (CDN_D_nSI, CDN, D, nSI);
+ and (CDN_D_SE, CDN, D, SE);
+ and (CDN_nD_SE, CDN, nD, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SE_int_not);
+ buf (CPN_check, CDN_i);
+ buf (SE_check, CDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SE_SI_SDFCHK, negedge CPN &&& D_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_SI_SDFCHK, negedge CPN &&& D_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_nSE_nSI_SDFCHK, negedge CPN &&& D_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SE_SI_SDFCHK, negedge CPN &&& nD_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND1BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND2BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNCSND4BWP7T35P140LVT (SI, D, SE, CPN, CDN, SDN, Q, QN);
+ input SI, D, SE, CPN, CDN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire CDN_d, SDN_d;
+ buf (CDN_i, CDN_d);
+ buf (SDN_i, SDN_d);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `else
+ buf (CDN_i, CDN);
+ buf (SDN_i, SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN_i, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN_buf, Q_buf);
+ and (QN, QN_buf, SDN_i);
+ `endif
+ `ifdef TETRAMAX
+ `else
+ reg flag;
+ always @(CDN_i or SDN_i) begin
+ if (!$test$plusargs("cdn_sdn_check_off")) begin
+ flag=((CDN_i===1'b0)&&(SDN_i===1'b0));
+ if (flag == 1) begin
+ if (CDN_i!==1'b0) begin
+ $display("%m > CDN is released at time %.2fns.", $realtime);
+ end
+ if (SDN_i!==1'b0) begin
+ $display("%m > SDN is released at time %.2fns.", $realtime);
+ end
+ end
+ if (flag == 1) begin
+ $display("%m > Both CDN and SDN are enabled at time %.2fns.", $realtime);
+ end
+ end
+ end
+
+ tsmc_xbuf (CPN_D_SDN_SE_SI_SDFCHK, CPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_SE_nSI_SDFCHK, CPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_SI_SDFCHK, CPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SDN_nSE_nSI_SDFCHK, CPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_SI_SDFCHK, CPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_SE_nSI_SDFCHK, CPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_SI_SDFCHK, CPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_SDN_nSE_nSI_SDFCHK, CPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_SI_SDFCHK, nCPN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_SE_nSI_SDFCHK, nCPN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_SI_SDFCHK, nCPN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SDN_nSE_nSI_SDFCHK, nCPN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_SI_SDFCHK, nCPN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_SE_nSI_SDFCHK, nCPN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_SI_SDFCHK, nCPN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SDN_nSE_nSI_SDFCHK, nCPN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SI_SDFCHK, CDN_D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_SI_SDFCHK, CDN_D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSE_nSI_SDFCHK, CDN_D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SI_SDFCHK, CDN_nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_nSI_SDFCHK, CDN_D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_nSI_SDFCHK, CDN_nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_SI_SDFCHK, CDN_nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_nSE_nSI_SDFCHK, CDN_nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_SI_SDFCHK, CDN_CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_SI_SDFCHK, CDN_CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_nSE_nSI_SDFCHK, CDN_CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_SI_SDFCHK, CDN_CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_D_SE_nSI_SDFCHK, CDN_CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_SE_nSI_SDFCHK, CDN_CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_SI_SDFCHK, CDN_CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_CPN_nD_nSE_nSI_SDFCHK, CDN_CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_SI_SDFCHK, CDN_nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_SE_nSI_SDFCHK, CDN_nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_SI_SDFCHK, CDN_nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_D_nSE_nSI_SDFCHK, CDN_nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_SI_SDFCHK, CDN_nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_SE_nSI_SDFCHK, CDN_nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_SI_SDFCHK, CDN_nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nCPN_nD_nSE_nSI_SDFCHK, CDN_nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_SI_SDFCHK, CDN_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_SDN_nSE_nSI_SDFCHK, CDN_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SI_SDFCHK, CDN_nD_SDN_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_nSI_SDFCHK, CDN_D_SDN_nSI, 1'b1);
+ tsmc_xbuf (CDN_D_SDN_SE_SDFCHK, CDN_D_SDN_SE, 1'b1);
+ tsmc_xbuf (CDN_nD_SDN_SE_SDFCHK, CDN_nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (CDN_D_SE_nSI_SDFCHK, CDN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_SE_nSI_SDFCHK, CDN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_SI_SDFCHK, CDN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CDN_nD_nSE_nSI_SDFCHK, CDN_nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (CPN_D_SDN_SE_SI, CPN, D, SDN, SE, SI);
+ and (CPN_D_SDN_SE_nSI, CPN, D, SDN, SE, nSI);
+ and (CPN_D_SDN_nSE_SI, CPN, D, SDN, nSE, SI);
+ and (CPN_D_SDN_nSE_nSI, CPN, D, SDN, nSE, nSI);
+ and (CPN_nD_SDN_SE_SI, CPN, nD, SDN, SE, SI);
+ and (CPN_nD_SDN_SE_nSI, CPN, nD, SDN, SE, nSI);
+ and (CPN_nD_SDN_nSE_SI, CPN, nD, SDN, nSE, SI);
+ and (CPN_nD_SDN_nSE_nSI, CPN, nD, SDN, nSE, nSI);
+ and (nCPN_D_SDN_SE_SI, nCPN, D, SDN, SE, SI);
+ and (nCPN_D_SDN_SE_nSI, nCPN, D, SDN, SE, nSI);
+ and (nCPN_D_SDN_nSE_SI, nCPN, D, SDN, nSE, SI);
+ and (nCPN_D_SDN_nSE_nSI, nCPN, D, SDN, nSE, nSI);
+ and (nCPN_nD_SDN_SE_SI, nCPN, nD, SDN, SE, SI);
+ and (nCPN_nD_SDN_SE_nSI, nCPN, nD, SDN, SE, nSI);
+ and (nCPN_nD_SDN_nSE_SI, nCPN, nD, SDN, nSE, SI);
+ and (nCPN_nD_SDN_nSE_nSI, nCPN, nD, SDN, nSE, nSI);
+ and (CDN_D_SDN_SE_SI, CDN, D, SDN, SE, SI);
+ and (CDN_D_SDN_nSE_SI, CDN, D, SDN, nSE, SI);
+ and (CDN_D_SDN_nSE_nSI, CDN, D, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SE_SI, CDN, nD, SDN, SE, SI);
+ and (CDN_D_SDN_SE_nSI, CDN, D, SDN, SE, nSI);
+ and (CDN_nD_SDN_SE_nSI, CDN, nD, SDN, SE, nSI);
+ and (CDN_nD_SDN_nSE_SI, CDN, nD, SDN, nSE, SI);
+ and (CDN_nD_SDN_nSE_nSI, CDN, nD, SDN, nSE, nSI);
+ and (CDN_CPN_D_SE_SI, CDN, CPN, D, SE, SI);
+ and (CDN_CPN_D_nSE_SI, CDN, CPN, D, nSE, SI);
+ and (CDN_CPN_D_nSE_nSI, CDN, CPN, D, nSE, nSI);
+ and (CDN_CPN_nD_SE_SI, CDN, CPN, nD, SE, SI);
+ and (CDN_CPN_D_SE_nSI, CDN, CPN, D, SE, nSI);
+ and (CDN_CPN_nD_SE_nSI, CDN, CPN, nD, SE, nSI);
+ and (CDN_CPN_nD_nSE_SI, CDN, CPN, nD, nSE, SI);
+ and (CDN_CPN_nD_nSE_nSI, CDN, CPN, nD, nSE, nSI);
+ and (CDN_nCPN_D_SE_SI, CDN, nCPN, D, SE, SI);
+ and (CDN_nCPN_D_SE_nSI, CDN, nCPN, D, SE, nSI);
+ and (CDN_nCPN_D_nSE_SI, CDN, nCPN, D, nSE, SI);
+ and (CDN_nCPN_D_nSE_nSI, CDN, nCPN, D, nSE, nSI);
+ and (CDN_nCPN_nD_SE_SI, CDN, nCPN, nD, SE, SI);
+ and (CDN_nCPN_nD_SE_nSI, CDN, nCPN, nD, SE, nSI);
+ and (CDN_nCPN_nD_nSE_SI, CDN, nCPN, nD, nSE, SI);
+ and (CDN_nCPN_nD_nSE_nSI, CDN, nCPN, nD, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (CDN_SDN_nSE_SI, CDN, SDN, nSE, SI);
+ and (CDN_SDN_nSE_nSI, CDN, SDN, nSE, nSI);
+ and (CDN_nD_SDN_SI, CDN, nD, SDN, SI);
+ and (CDN_D_SDN_nSI, CDN, D, SDN, nSI);
+ and (CDN_D_SDN_SE, CDN, D, SDN, SE);
+ and (CDN_nD_SDN_SE, CDN, nD, SDN, SE);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (CDN_D_SE_nSI, CDN, D, SE, nSI);
+ and (CDN_nD_SE_nSI, CDN, nD, SE, nSI);
+ and (CDN_nD_nSE_SI, CDN, nD, nSE, SI);
+ and (CDN_nD_nSE_nSI, CDN, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, CDN_i, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, CDN_i, SDN_i, SE);
+ `endif
+ and (D_check, CDN_i, SDN_i, SE_int_not);
+ and (CPN_check, CDN_i, SDN_i);
+ and (SE_check, CDN_i, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (Q+:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (CDN => Q) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (CDN => Q) = (0, 0);
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SDN == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge CDN => (QN-:1'b0)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b1 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (SDN => QN) = (0, 0);
+ if (CDN == 1'b0 && CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (SDN => QN) = (0, 0);
+ $width (negedge CDN &&& CPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& CPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CDN &&& nCPN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& CDN_nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CDN_nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0,0, notifier, , , CDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier,,, SDN_d, CDN_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier,,, CDN_d, SDN_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (posedge SDN &&& CPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (posedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge CDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& CPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_D_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_SE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_SI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (posedge CDN &&& nCPN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& CDN_nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_SE_SI_SDFCHK, negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_SI_SDFCHK, negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& D_SDN_nSE_nSI_SDFCHK, negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge CDN &&& nD_SDN_SE_SI_SDFCHK, negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, posedge CDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, posedge CDN , 0, notifier);
+ $recovery (posedge SDN &&& CDN_D_SE_nSI_SDFCHK, negedge CPN &&& CDN_D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_SE_nSI_SDFCHK, negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_SI_SDFCHK, negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& CDN_nD_nSE_nSI_SDFCHK, negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& CDN_D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& CDN_nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND1BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND2BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYND4BWP7T35P140LVT (SI, D, SE, CPN, Q, QN);
+ input SI, D, SE, CPN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CPN_check);
+ pullup (SE_check);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ `else
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND1BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND2BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFNSYNSND4BWP7T35P140LVT (SI, D, SE, CPN, SDN, Q, QN);
+ input SI, D, SE, CPN, SDN;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ `ifdef RECREM
+ wire SDN_d;
+ buf (SDN_i, SDN_d);
+ `else
+ buf (SDN_i, SDN);
+ `endif
+ wire SI_d, D_d, SE_d, CPN_d;
+ pullup (CDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ not (CP, CPN_d);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ buf (SDN_i, SDN);
+ pullup (CDN);
+ tsmc_mux (D_i, D, SI, SE);
+ not (CP, CPN);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN_i, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SDN_SE_SI_SDFCHK, D_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_SI_SDFCHK, D_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSE_nSI_SDFCHK, D_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SI_SDFCHK, nD_SDN_SE_SI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_nSI_SDFCHK, D_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_nSI_SDFCHK, nD_SDN_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_SI_SDFCHK, nD_SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_SDN_nSE_nSI_SDFCHK, nD_SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_SI_SDFCHK, CPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_SI_SDFCHK, CPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_nSE_nSI_SDFCHK, CPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_SI_SDFCHK, CPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (CPN_D_SE_nSI_SDFCHK, CPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_SE_nSI_SDFCHK, CPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_SI_SDFCHK, CPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (CPN_nD_nSE_nSI_SDFCHK, CPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_SI_SDFCHK, nCPN_D_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_SE_nSI_SDFCHK, nCPN_D_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_SI_SDFCHK, nCPN_D_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_D_nSE_nSI_SDFCHK, nCPN_D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_SI_SDFCHK, nCPN_nD_SE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_SE_nSI_SDFCHK, nCPN_nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_SI_SDFCHK, nCPN_nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nCPN_nD_nSE_nSI_SDFCHK, nCPN_nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (SDN_nSE_SI_SDFCHK, SDN_nSE_SI, 1'b1);
+ tsmc_xbuf (SDN_nSE_nSI_SDFCHK, SDN_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SDN_SI_SDFCHK, nD_SDN_SI, 1'b1);
+ tsmc_xbuf (D_SDN_nSI_SDFCHK, D_SDN_nSI, 1'b1);
+ tsmc_xbuf (D_SDN_SE_SDFCHK, D_SDN_SE, 1'b1);
+ tsmc_xbuf (nD_SDN_SE_SDFCHK, nD_SDN_SE, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ not (nCPN, CPN);
+ and (D_SDN_SE_SI, D, SDN, SE, SI);
+ and (D_SDN_nSE_SI, D, SDN, nSE, SI);
+ and (D_SDN_nSE_nSI, D, SDN, nSE, nSI);
+ and (nD_SDN_SE_SI, nD, SDN, SE, SI);
+ and (D_SDN_SE_nSI, D, SDN, SE, nSI);
+ and (nD_SDN_SE_nSI, nD, SDN, SE, nSI);
+ and (nD_SDN_nSE_SI, nD, SDN, nSE, SI);
+ and (nD_SDN_nSE_nSI, nD, SDN, nSE, nSI);
+ and (CPN_D_SE_SI, CPN, D, SE, SI);
+ and (CPN_D_nSE_SI, CPN, D, nSE, SI);
+ and (CPN_D_nSE_nSI, CPN, D, nSE, nSI);
+ and (CPN_nD_SE_SI, CPN, nD, SE, SI);
+ and (CPN_D_SE_nSI, CPN, D, SE, nSI);
+ and (CPN_nD_SE_nSI, CPN, nD, SE, nSI);
+ and (CPN_nD_nSE_SI, CPN, nD, nSE, SI);
+ and (CPN_nD_nSE_nSI, CPN, nD, nSE, nSI);
+ and (nCPN_D_SE_SI, nCPN, D, SE, SI);
+ and (nCPN_D_SE_nSI, nCPN, D, SE, nSI);
+ and (nCPN_D_nSE_SI, nCPN, D, nSE, SI);
+ and (nCPN_D_nSE_nSI, nCPN, D, nSE, nSI);
+ and (nCPN_nD_SE_SI, nCPN, nD, SE, SI);
+ and (nCPN_nD_SE_nSI, nCPN, nD, SE, nSI);
+ and (nCPN_nD_nSE_SI, nCPN, nD, nSE, SI);
+ and (nCPN_nD_nSE_nSI, nCPN, nD, nSE, nSI);
+ and (SDN_nSE_SI, SDN, nSE, SI);
+ and (SDN_nSE_nSI, SDN, nSE, nSI);
+ and (nD_SDN_SI, nD, SDN, SI);
+ and (D_SDN_nSI, D, SDN, nSI);
+ and (D_SDN_SE, D, SDN, SE);
+ and (nD_SDN_SE, nD, SDN, SE);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ and (SI_check, SDN_i, SE_d);
+ `else
+ not (SE_int_not, SE);
+ and (SI_check, SDN_i, SE);
+ `endif
+ and (D_check, SDN_i, SE_int_not);
+ buf (CPN_check, SDN_i);
+ buf (SE_check, SDN_i);
+ tsmc_xbuf (CPN_DEFCHK, CPN_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (negedge CPN => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (Q+:1'b1)) = (0, 0);
+ (negedge CPN => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b1 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b1 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b1 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b1)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ if (CPN == 1'b0 && D == 1'b0 && SE == 1'b0 && SI == 1'b0)
+ (negedge SDN => (QN-:1'b1)) = (0, 0);
+ $width (posedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& D_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CPN &&& nD_SDN_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& CPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge SDN &&& nCPN_nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ `ifdef RECREM
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recrem (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ $recrem (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0,0, notifier, , , SDN_d, CPN_d);
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CPN_d, D_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CPN_d, SE_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CPN_d, SI_d);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ `else
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& SDN_nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& D_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (negedge CPN &&& nD_SDN_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $recovery (posedge SDN &&& D_SE_nSI_SDFCHK, negedge CPN &&& D_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_SE_nSI_SDFCHK, negedge CPN &&& nD_SE_nSI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_SI_SDFCHK, negedge CPN &&& nD_nSE_SI_SDFCHK, 0, notifier);
+ $recovery (posedge SDN &&& nD_nSE_nSI_SDFCHK, negedge CPN &&& nD_nSE_nSI_SDFCHK, 0, notifier);
+ $hold (negedge CPN &&& D_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_SE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_SI_SDFCHK, posedge SDN , 0, notifier);
+ $hold (negedge CPN &&& nD_nSE_nSI_SDFCHK, posedge SDN , 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD1BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD2BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTAD4BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD1BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD2BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFOPTBD4BWP7T35P140LVT (SI, D, SE, CP, Q, QN);
+ input SI, D, SE, CP;
+ output Q, QN;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ not (QN, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ (posedge CP => (QN-:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD0BWP7T35P140LVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD1BWP7T35P140LVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD2BWP7T35P140LVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_nSE_nSI_SDFCHK, 0, 0, notifier);
+ `ifdef NTC
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier,,, CP_d, D_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier,,, CP_d, SE_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier,,, CP_d, SI_d);
+ `else
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_SI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, posedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nSE_nSI_SDFCHK, negedge D , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, posedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_nSI_SDFCHK, negedge SE , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& D_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, posedge SI , 0, 0, notifier);
+ $setuphold (posedge CP &&& nD_SE_SDFCHK, negedge SI , 0, 0, notifier);
+ `endif
+ endspecify
+ `endif
+endmodule
+`endcelldefine
+
+`celldefine
+module SDFQD4BWP7T35P140LVT (SI, D, SE, CP, Q);
+ input SI, D, SE, CP;
+ output Q;
+ reg notifier;
+ `ifdef NTC
+ wire SI_d, D_d, SE_d, CP_d;
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D_d, SI_d, SE_d);
+ tsmc_dff (Q_buf, D_i, CP_d, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `else
+ pullup (CDN);
+ pullup (SDN);
+ tsmc_mux (D_i, D, SI, SE);
+ tsmc_dff (Q_buf, D_i, CP, CDN, SDN, notifier);
+ buf (Q, Q_buf);
+ `endif
+
+ `ifdef TETRAMAX
+ `else
+ tsmc_xbuf (D_SE_SI_SDFCHK, D_SE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_SI_SDFCHK, D_nSE_SI, 1'b1);
+ tsmc_xbuf (D_nSE_nSI_SDFCHK, D_nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_SI_SDFCHK, nD_SE_SI, 1'b1);
+ tsmc_xbuf (D_SE_nSI_SDFCHK, D_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_SE_nSI_SDFCHK, nD_SE_nSI, 1'b1);
+ tsmc_xbuf (nD_nSE_SI_SDFCHK, nD_nSE_SI, 1'b1);
+ tsmc_xbuf (nD_nSE_nSI_SDFCHK, nD_nSE_nSI, 1'b1);
+ tsmc_xbuf (nSE_SI_SDFCHK, nSE_SI, 1'b1);
+ tsmc_xbuf (nSE_nSI_SDFCHK, nSE_nSI, 1'b1);
+ tsmc_xbuf (nD_SI_SDFCHK, nD_SI, 1'b1);
+ tsmc_xbuf (D_nSI_SDFCHK, D_nSI, 1'b1);
+ tsmc_xbuf (D_SE_SDFCHK, D_SE, 1'b1);
+ tsmc_xbuf (nD_SE_SDFCHK, nD_SE, 1'b1);
+ not (nSI, SI);
+ not (nD, D);
+ not (nSE, SE);
+ and (D_SE_SI, D, SE, SI);
+ and (D_nSE_SI, D, nSE, SI);
+ and (D_nSE_nSI, D, nSE, nSI);
+ and (nD_SE_SI, nD, SE, SI);
+ and (D_SE_nSI, D, SE, nSI);
+ and (nD_SE_nSI, nD, SE, nSI);
+ and (nD_nSE_SI, nD, nSE, SI);
+ and (nD_nSE_nSI, nD, nSE, nSI);
+ and (nSE_SI, nSE, SI);
+ and (nSE_nSI, nSE, nSI);
+ and (nD_SI, nD, SI);
+ and (D_nSI, D, nSI);
+ and (D_SE, D, SE);
+ and (nD_SE, nD, SE);
+
+
+ // Timing logics defined for default constraint check
+ `ifdef NTC
+ not (SE_int_not, SE_d);
+ buf (SI_check, SE_d);
+ `else
+ not (SE_int_not, SE);
+ buf (SI_check, SE);
+ `endif
+ buf (D_check, SE_int_not);
+ pullup (CP_check);
+ pullup (SE_check);
+ tsmc_xbuf (CP_DEFCHK, CP_check, 1'b1);
+ tsmc_xbuf (SE_DEFCHK, SE_check, 1'b1);
+ tsmc_xbuf (D_DEFCHK, D_check, 1'b1);
+ tsmc_xbuf (SI_DEFCHK, SI_check, 1'b1);
+
+ specify
+ (posedge CP => (Q+:((SE && SI) || (!(SE) && D)))) = (0, 0);
+ $width (posedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_nSE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_SI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& D_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (negedge CP &&& nD_SE_nSI_SDFCHK, 0, 0, notifier);
+ $width (posedge CP &&&